我知道轮子是在PyPI上传的模块的二进制版本。
pip install
我也尝试将轮次添加到my package。但我只能为窗户上传轮子。
注意:我对Fedora rpm包有一点了解。我现在对Ubuntu的轮子很感兴趣。
答案 0 :(得分:9)
为什么有些软件包会为Linux平台提供轮子?
为什么他们不应该,只要源分布也可用? :)
你的问题不明确。如果你的意思是
为什么有些软件包为Linux平台提供特定于平台的轮子而不是独立于平台的轮子?
然后看看this question及其答案。如果没有,请澄清你的问题。
在Ubuntu上:我应该在some cases中得到包BUT的源代码分发。我得到了轮子。
尝试使用:
pip install --no-binary :all: somepackage
这应该使pip
下载源分发(如果它存在于PyPI上)。我不知道为什么在PyPI上没有PyQt5的源包,可能是因为它们不能与pip
一起安装,需要一个完整的工具链来进行编译。
只要您同时提供二进制文件和源代码,它就没问题。我建议你这样做。这可以吗?提供二进制文件而不是源代码?
为什么我不能提供轮子?
试试python setup.py bdist_wheel
。您需要安装wheel
包(在PyPI上)才能使其正常运行。如果您的软件包同时支持Python 2和3并且不包含C扩展,请附加--universal
选项以生成" universal wheel"。
将bdist_wheel
替换为sdist
以进行源分发。它将在dist
目录中创建一个存档。
sdist 会为当前平台创建默认格式的存档。默认格式是Unix上的gzip'ed tar文件(
.tar.gz
)和Windows上的ZIP文件。您可以使用
--formats
选项指定任意数量的格式,例如:python setup.py sdist --formats=gztar,zip
创建一个gzip压缩包和一个zip文件
(引自https://docs.python.org/3/distutils/sourcedist.html)
有关包装和轮子的更多信息,请访问:https://packaging.python.org/distributing/#packaging-your-project