当setup.py运行在Python第3版解释器上时,我如何构建一个py2轮包?
问题描述
我有一个包,它应该只是Python版本2,但需要运行版本3解释器来生成。
此包的setup.py
看起来有点像Hits:
from setuptools import setup
setup(
python_requires="<3.0, >=2.7.5",
classifiers=[
'Programming Language :: Python :: 2',
'Intended Audience :: Developers',
],
# ... more keyword arguments ...
)
如果我调用python2 setup.py build bdist_wheel
,我会得到:
$ ls dist
mypackage-0.3.dev14-py2-none-any.whl
如果我使用版本3解释器运行它,即python3 setup.py build bdist_wheel
,我会得到:
$ ls dist
mypackage-0.3.dev14-py3-none-any.whl
我本以为无论解释器版本如何,我都会得到一个py2包,因为我用python_requires
(以及在标记中)指定了它。我的包构建服务器只有一个Python3解释器。
-py3-
/-py2
的含义是否与我认为的不同?
解决方案
尝试将python-tag参数传递给bdist_车轮:
python setup.py bdist_wheel --python-tag=py2
也可以作为
传递from setuptools import setup
setup(options={'bdist_wheel':{'python_tag':'py2'}})
或setup.cfg
相关文章