【发布时间】:2019-07-26 01:30:31
【问题描述】:
我有一个包应该是 Python 仅版本 2,但需要构建运行版本 3 解释器。
这个包的setup.py 看起来像命中:
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(和标签)指定了它。我的包构建服务器只有一个 Python 3 解释器。
当使用 Python 3 解释器运行 setuptools 时,如何构建针对 Python 2 的轮子?这有可能吗?文件名中的-py3-/-py2 的含义是否与我认为的不同?
【问题讨论】:
标签: python setuptools packaging python-wheel