2014-09-26 57 views
13

为了在我们公司内部实现python项目,我需要制作一个可安装的发行版。构建一个python项目的轮子/鸡蛋和所有依赖项

这应包括:

  • 为我的项目
  • 一个鸡蛋或WHL这个项目
  • (可选)产生requirements.txt文件列出所有安装的每个依赖一个鸡蛋或WHL这个版本的组件

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

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

这需要在Windows + Linux上的Python 2.7上工作。

回答

17

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

python setup.py bdist_wheel 

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

要获得的依赖,你将要创建一个requirements.txt文件并运行以下命令:

pip wheel -r requirements.txt 

如果你的包是不是PyPI上,那么你就必须到你的包的轮手动复制文件到该命令创建的轮盘。欲了解更多信息,请参见下面的优秀文章:

16

随着最新pipwheel,你可以在你的项目文件夹内,即使简单地运行

pip wheel . 

,您的应用程序ISN对PyPi。所有车轮将存储在./wheelhouse。当我尝试它时,它错过了我的一个依赖关系,我需要手动构建它。不知道为什么。

+0

它在pypi上搜索我的本地软件包,因此失败。相反,我先运行'python setup.py bdist_wheel',然后为pypi包运行'pip wheel -r requirements.txt'。 – guneysus 2016-10-04 11:44:57

相关问题