build立一个轮子/鸡蛋和一个python项目的所有依赖项

为了在我们公司内部进行python项目,我需要做一个可安装的发行版。

这应该包括:

  • 一个鸡蛋或whl为我的项目
  • 项目的每个依赖项的一个鸡蛋或whl
  • (可选)生成一个requirements.txt文件,其中列出了此版本的所有可安装组件

是否有一个简单的插件(例如bdist_wheel的替代品),不仅可以编译一个车轮,还可以编译该项目的组件?

很明显,我可以编写脚本,但是我希望可以通过更less的步骤构build包+依赖关系。

这需要在Windows + Linux上使用Python 2.7。

你将需要为你的包创建一个setup.py文件。 确保你安装了最新的setuptools和pip。 然后运行以下内容:

 python setup.py bdist_wheel 

这将为您的包创建一个轮子文件。 这假定你没有C / C ++头文件,DLL等等。如果你这样做,那么你可能会有更多的工作要做。

要获得依赖关系,您需要创建一个requirements.txt文件并运行以下命令:

 pip wheel -r requirements.txt 

如果您的软件包不在PyPI上,那么您必须手动将软件包的wheel文件复制到该命令创建的wheel文件夹中。 欲了解更多信息,请参阅以下优秀文章:

随着最新的pipwheel ,你可以简单地运行

 pip wheel . 

在您的项目文件夹中,即使您的应用程序不在PyPi上。 所有车轮将被存储在./wheelhouse车轮。 当我尝试它,但是,它错过了我的依赖之一,我需要手动构建它。 不知道为什么。