当setup.py运行在Python第3版解释器上时,我如何构建一个py2轮包?

How do I build a py2 wheel package, when setup.py runs with a Python version 3 interpreter?(当setup.py运行在Python第3版解释器上时,我如何构建一个py2轮包?)
本文介绍了当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解释器。

在使用Python3解释器运行setupTools时,如何构建面向Python2的控制盘?这有可能吗?文件名中的-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

这篇关于当setup.py运行在Python第3版解释器上时,我如何构建一个py2轮包?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)