Articles of python wheel

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

为了在我们公司内部进行python项目,我需要做一个可安装的发行版。 这应该包括: 一个鸡蛋或whl为我的项目 项目的每个依赖项的一个鸡蛋或whl (可选)生成一个requirements.txt文件,其中列出了此版本的所有可安装组件 是否有一个简单的插件(例如bdist_wheel的替代品),不仅可以编译一个车轮,还可以编译该项目的组件? 很明显,我可以编写脚本,但是我希望可以通过更less的步骤构build包+依赖关系。 这需要在Windows + Linux上使用Python 2.7。

'pip setup.py bdist_wheel'不再构build强制的非纯车轮

我有一个在Linux上编译C扩展的项目,但在Windows上没有。 当我第一次用python setup.py bdist_wheel在Windows上生成轮子文件时,它们变得普遍了,我不能将它们上传到PyPI,因为这些通用轮子是由pip首选的.tar.gz上传( python setup.py sdist的结果python setup.py sdist )。 这个技巧是在setup.py指定的: Distribution.is_pure = lambda *args: False 或通过子类Distribution : class BinaryDistribution(Distribution): def is_pure(self): return False 并使用extra关键字参数distclass=BinaryDistribution,调用setup.py中的setup() 。 这在运行Windows XP 64的虚拟机上运行得很好,它具有32位和64位版本的Python 2.6 / 2.7 / 3.3 / 3.4和pypy,仅用于此目的。 一个简单的batch file给我: dist/pkg-1.0-cp26-none-win32.whl dist/pkg-1.0-cp26-none-win_amd64.whl dist/pkg-1.0-cp27-none-win32.whl dist/pkg-1.0-cp27-none-win_amd64.whl dist/pkg-1.0-cp33-none-win32.whl dist/pkg-1.0-cp33-none-win_amd64.whl dist/pkg-1.0-cp34-none-win32.whl dist/pkg-1.0-cp34-none-win_amd64.whl 当你在Windows上运行pip在Linux上运行pip时,相应的软件包会被下载并通过pip安装, pkg-1.0.tar.gz 其中包含安装期间编译的C源代码。 问题始于我没有备用的Windows 7许可机器,我可以安装Python 3.5(它不安装在EOL XP上)。 所以我调查了Appveyor并创build了appveyor.yml : […]