Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为Python2和Python3上传通用PythonWheel?_Python_Python 2.7_Python 3.x_Pypi_Python Wheel - Fatal编程技术网

如何为Python2和Python3上传通用PythonWheel?

如何为Python2和Python3上传通用PythonWheel?,python,python-2.7,python-3.x,pypi,python-wheel,Python,Python 2.7,Python 3.x,Pypi,Python Wheel,我在PyPi上有一个软件包,在准备一个新版本时,我构建了源代码分发、构建控制盘并上传,所有这些都使用了setuptools 但是,我发现它只上传upload命令中使用的Python版本的控制盘(Python和python3) 以下是我正在采取的步骤: python3 setup.py sdist python3 setup.py bdist_wheel --universal python3 setup.py sdist bdist_wheel upload 根据报告: “通用控制盘”是纯py

我在PyPi上有一个软件包,在准备一个新版本时,我构建了源代码分发、构建控制盘并上传,所有这些都使用了setuptools

但是,我发现它只上传upload命令中使用的Python版本的控制盘(
Python
python3

以下是我正在采取的步骤:

python3 setup.py sdist
python3 setup.py bdist_wheel --universal
python3 setup.py sdist bdist_wheel upload
根据报告:

“通用控制盘”是纯python的控制盘(即不包含已编译的扩展),支持Python2和Python3

所以这对我来说似乎是正确的

在转轮构建步骤之后,我验证转轮是否已构建,并且在
dist
中是否具有文件名格式
PACKAGE-VERSION-py2.py3 none-any.whl
,但当我使用
python3 setup.py sdist bdist_wheel upload运行上载时,它会创建一个
PACKAGE-VERSION-py3-none-any.whl
,并上载该文件


如果我运行
python setup.py sdist bdist_wheel upload
它对python 2-only执行相同的操作并上载一个python 2-only。命令
python3 setup.py sdist bdist_wheel upload
创建一个新的wheel分发

您需要在该命令行上再次包含相同的标志:

python3 setup.py sdist bdist_wheel --universal upload
最好使用它来管理上传;它将使用加密的连接(
setuptools
使用未加密的连接,从而以明文形式发送您的用户名和密码),并允许您在上传之前检查和测试分发:

python3 setup.py sdist
python3 setup.py bdist_wheel --universal
# test the distributions
twine upload dist/*
捆绳是目前唯一可以使用的工具