当 setup.py 使用 Python 版本 3 解释器运行时,如何构建 py2 轮包?

2024-03-23

我有一个应该是 Python 的包仅版本 2但需要构建运行版本 3 解释器。

The 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, I get:

$ ls dist
mypackage-0.3.dev14-py2-none-any.whl

如果我使用版本 3 解释器运行它,即python3 setup.py build bdist_wheel, I get:

$ ls dist
mypackage-0.3.dev14-py3-none-any.whl

我预计无论解释器版本如何,我都会得到一个 py2 包,因为我用python_requires(以及在标签中)。我的包构建服务器只有一个 Python 3 解释器。

当使用 Python 3 解释器运行 setuptools 时,如何构建一个针对 Python 2 的轮子?这有可能吗?是否-py3-/-py2文件名中的含义与我想象的不同?


尝试将 python-tag 参数传递给 bdist_wheel:

python setup.py bdist_wheel --python-tag=py2

它也可以传递为

from setuptools import setup
setup(options={'bdist_wheel':{'python_tag':'py2'}})

Or in setup.cfg

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当 setup.py 使用 Python 版本 3 解释器运行时,如何构建 py2 轮包? 的相关文章

随机推荐

  • Angular 7选择下拉对象在未触摸时为空

    在我的应用程序中 ngOnInit 加载货币 类别和制造商 我为此使用 Angular 7 反应形式 数据按预期加载 下拉列表中填充了值以及选择的第一个选项并向用户显示 所以 这就是问题所在 完成表单并单击提交 使用默认下拉值 后 我看到一
  • 重定向到另一台服务器 - ASP MVC

    有人知道如何使用 ASP NET MVC 重定向到另一个服务器 解决方案吗 像这样的东西 public void Redir String param Redirect to another application ie Redirect
  • DELETE 语句与 REFERENCE 冲突

    我有一个 table Project 其中包含 CustomerID 链接到 tbl Customer 在 tbl Customer 中 我有 Customer ID 作为键 和一些其他信息 如电话 电子邮件等 要从 Gridview 中删
  • 将数据从background.js发送到popup.html

    In my background js 当加载期间 URL 匹配时 它会加载 ajax 例如 它是 google com 它会触发 ajax 并收到一些数据 但如何将这些数据发送到我的 popup html 呢 I tried chrome
  • 检查文件修改日期和电子邮件(如果已更改)[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在寻找一个 bash 脚本 该脚本将检查文件在过去一小时内是否已被修改 并通过电子邮件发送警报 如果已修改 该脚本将在 Solaris 和 Ubu
  • 为什么使用 ssh 将备份文件转储到另一台服务器时会出现“tcgetattr”错误?

    我想将表备份转储到另一台服务器上 并且我正在使用 ssh 来执行此操作 当我运行以下命令时 它会给出错误 但转储文件已复制到目标 mysqldump u username ppassword dbname tablename ssh t t
  • g++ 找不到标头,但我确实包含了它们

    我开始使用 c 并且已经出错了 我正在尝试编译 levelDB 的一个小测试 include
  • Set.toString() 是如何实现的?

    The toString 方法未被覆盖Set或其层次结构 那么元素是如何打印的呢 import java lang Math import java util HashSet class Hello public String name H
  • 通过wicket动态编写脚本src

    我希望我的页面能够动态加载 javascriptbody 我正在使用检票口1 4版所以JavaScriptResourceReference 在我的版本中不存在 据我检查 事实并非如此 我该如何解决这个问题 提前致谢 我将我的评论指定为答案
  • 如何在 TypeScript 中处理 ISO 日期字符串?

    我是打字稿的新手 所以我正在努力掌握它的窍门 网络请求将返回一个 JSON 对象 其中包含 ISO 日期字符串格式的字段 data Data when 2016 07 13T18 46 01 933Z 当我为此接口创建类型签名时 是否有任何
  • Clozure Common Lisp - TCP 套接字编程 - 发送回复

    我有一个非常小的程序 它打开一个套接字并接受一个连接 然后它会获取远程 IP 和端口 我想向远程计算机 telnet 发送一条短信并关闭连接 我无法确定哪个函数用于向 telnet 客户端发送消息 The Clozure手册 http cc
  • Matplotlib AttributeError:“模块”对象没有属性“popall”

    当尝试使用 pyplot 绘制图表时 我运行以下代码 from matplotlib import pyplot as plt x 6 5 4 y 3 4 5 plt plot x y plt show 这将返回以下错误 Attribute
  • 谷歌新闻,左导航 CSS 技巧?或 jQuery 技巧

    我对此很陌生 查看 Google 新闻 上下滚动页面时请注意左侧导航 看看是如何滚动一小段 然后在消失之前粘在页面顶部的吗 关于如何做到这一点有什么想法吗 jQuery 和 CSS 可以复制这一点吗 如果是这样 有什么建议吗 YouTube
  • 未找到 NetBeans 10 JUnit Jar

    我新安装了 NetBeans 10 尝试运行我刚刚创建的一些初始单元测试时 出现以下错误 The
  • Ellipsize 不适用于自定义 listView 内的 textView

    我有一个 listView 其中包含由下面的 xml 布局定义的自定义对象 我希望 id 为 info 的 textView 在一行上省略 并且我尝试使用属性 android singleLine true android ellipsiz
  • jenkinsfile 管道按代理分组阶段

    我有什么 我正在尝试使用两种不同的代理来运行我的詹金斯管道 我想在同一个代理上执行某些流程 但到目前为止我无法执行此操作 因为代理定义只有 2 个选项 我可以在管道顶部执行 或者我可以将代理定义到每个阶段 我有这个 pipeline age
  • 用 CSS 使图像变灰?

    使用 CSS 让图像显示为 灰色 的最佳方法 如果有 是什么 即不加载单独的灰色图像版本 我的上下文是 表格中的行在最右侧的单元格中都有按钮 并且某些行需要看起来比其他行更亮 因此 我当然可以轻松地使字体变亮 但我也希望使图像变亮 而不必管
  • Python pandas系列:将浮点数转换为字符串,保留空值

    转换为字符串后如何保留空值 我正在处理社会安全号码 需要在浮点数和字符串之间来回切换 import pandas as pd import numpy as np x pd Series np nan 123 np nan 456 dtyp
  • 如何使用phpmyadmin导出所有数据库

    可以使用phpMyadmin一次性导出所有数据库吗 如果不是 最好的方法是什么 提前致谢 以下是使用 phpMyAdmin 导出所有 mySQL 数据库的步骤 2015 年 12 月 随着 phpMyAdmin 的发展 添加了新功能 打开
  • 当 setup.py 使用 Python 版本 3 解释器运行时,如何构建 py2 轮包?

    我有一个应该是 Python 的包仅版本 2但需要构建运行版本 3 解释器 The setup py这个包的内容看起来像点击 from setuptools import setup setup python requires lt 3 0