Python-打包源代码分发版
我目前正在编写一个python程序,我想将其分发给一些en用户(和开发人员)。我想把运行程序所需的步骤减少到最少 我的用例相对简单。我希望过程/工具/任何东西: A) 下载应用程序运行所需的软件包列表 B) 按顺序运行python脚本列表(例如,创建数据库,然后运行迁移) 我知道distlib已经做到了一些。然而,我发现文档有点混乱,似乎有一个安装脚本的API,但没有一个自动执行脚本的APIPython-打包源代码分发版,python,packaging,Python,Packaging,我目前正在编写一个python程序,我想将其分发给一些en用户(和开发人员)。我想把运行程序所需的步骤减少到最少 我的用例相对简单。我希望过程/工具/任何东西: A) 下载应用程序运行所需的软件包列表 B) 按顺序运行python脚本列表(例如,创建数据库,然后运行迁移) 我知道distlib已经做到了一些。然而,我发现文档有点混乱,似乎有一个安装脚本的API,但没有一个自动执行脚本的API 理想情况下,我会指定一个脚本列表和一个依赖项列表,并让程序自动安装它们。解决这个问题的最佳方法可能是使用
理想情况下,我会指定一个脚本列表和一个依赖项列表,并让程序自动安装它们。解决这个问题的最佳方法可能是使用带有Makefile()的
make
通过setup.py文件的Distlib将通过为一些python脚本命名来帮助您提高可读性。您可以使用make
target/dependencies系统按顺序执行任务
如果你想坚持使用python,你也可以使用Luigi(),但这似乎有些过分。好的,所以我结束了我自己的东西,基于我想要的界面外观。安装应用程序的代码如下所示:
from installtools import setup
scripts = ['create_database.py', 'run_migrations.py']
setup("Shelob", "requirements.txt", scripts)
完整脚本可在此处找到:
由于PIP没有公共API(),因此脚本使用子流程API调用:
pip安装-r[要求\u文件\u路径]
然后,它逐个调用指定的python脚本。虽然它可能不是一个非常强大的解决方案,但作为权宜之计,它似乎起到了作用。您可能想阅读:,