我在PyPi上有一个软件包,并且在准备新版本时,我会使用setuptools来构建源代码发行版,构建轮子并上传。
但是,我发现它仅上传上载命令(python
和python3
)中使用的Python版本的车轮。
这是我正在采取的步骤:
python3 setup.py sdist
python3 setup.py bdist_wheel --universal
python3 setup.py sdist bdist_wheel upload
根据《Python打包用户指南》:
“ Universal Wheels”是纯python(即不包含编译的扩展名)并支持Python 2和3的轮子。
所以这对我来说似乎是正确的事情。
在完成车轮构建步骤之后,我确认车轮已构建并且具有文件名格式PACKAGE-VERSION-py2.py3-none-any.whl
,dist
但是当我使用进行上传时python3 setup.py sdist bdist_wheel upload
,它会创建一个PACKAGE-VERSION-py3-none-any.whl
并上传该文件。
如果我运行,python setup.py sdist bdist_wheel upload
它的功能相同,并仅上传一个Python 2。
该命令python3 setup.py sdist bdist_wheel upload
创建新的车轮分布。
您需要在该命令行上再次包含相同的标志:
python3 setup.py sdist bdist_wheel --universal upload
最好使用它twine
来管理上传;它会使用加密的连接(setuptools
使用未加密的连接,因此会明文发送您的用户名和密码),并允许您在上传之前检查和测试分发:
python3 setup.py sdist
python3 setup.py bdist_wheel --universal
# test the distributions
twine upload dist/*
目前,Twine还是唯一为万向轮正确设置PyPI的“ Py版本”元数据的工具。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句