当前位置: 首页 > 面试题库 >

setup.py:限制python解释器的允许版本

姜淇
2023-03-14
问题内容

我有一个Python库。不幸的是,我尚未将其更新为可用于Python 3。

在其中setup.py,我添加了

install_requires=['python<3'],

我的目的是不允许在Python 3下安装/使用此软件包,因为我知道它尚无法使用。我认为这不是正确的方法,因为pip然后尝试下载并安装python
2.7.3(已经安装了版本!)。

我应如何在特定范围的Python解释器版本上指定我的库依赖项?我应该添加Programming Language :: Python :: 2 :: Only标签吗?这实际上会阻止在Python 3下安装吗?如果我还想将最低版本限制为Python 2.6怎么办?

我更喜欢在任何地方都可以使用的解决方案,但会选择仅在其中使用pip(并且希望不会造成easy_install窒息)的html" target="_blank">解决方案。


问题答案:

从9.0.1版开始, pip将使用一个新python_requires字符串,指定安装所需的python版本,例如:

setup(
    ...,
    python_requires=">=3.3"
)

有关更多详细信息,请参见此处。另请参见此答案。



 类似资料:
  • 问题内容: 我试图在Windows 7计算机上设置python 2.7.6(首先安装了python 3.3.3)。将项目解释器添加到settings- project解释器后,选择项目解释器时,出现此错误 文件“ C:\ Python33 \ Lib \ site.py”,行173 file = sys.stderr)^ SyntaxError:语法无效 最初在设置页面中添加python 2.7解

  • 问题内容: 我并不是要求个人对这一哲学有“宗教”的看法,而是一些更专业的观点。 我理解这句话是几个试金石之一,看看你的代码是否是“pythonic”。但对我来说,pythonic意味着干净、简单和直观,没有为错误的代码加载异常处理程序。 所以,实际的例子。我定义一个类: 现在,从程序背景来看,在另一个函数中,我想这样做: 如果我不耐烦并且没有执行初始foo=None,我将得到一个属性异常。所以,“

  • 问题内容: 我需要解析一个json文件,不幸的是,该文件不遵循原型。我的数据有两个问题,但是我已经找到了解决方法,所以我只在最后提一下,也许有人也可以提供帮助。 所以我需要解析这样的条目: json默认解析器更新字典,因此仅使用最后一个条目。我不得不以某种方式存储另一个,我也不知道如何做到这一点。我还必须将密钥以它们在文件中出现的顺序存储在几个字典中,这就是为什么我使用OrderedDict这样做

  • 我正在根目录中使用标准setup.py编写基于Flask的模块: 我愿意使用FlaskAPI公开模块版本。以编程方式访问自己的模块版本的正确方法是什么? 谢谢 更新:我忘了提到该模块没有必要作为标准模块安装,并且可能在PYTHONPATH中不可用。这就是为什么这个问题不是这样的

  • 本文向大家介绍virtualenv 指定 python 解释器的版本方法,包括了virtualenv 指定 python 解释器的版本方法的使用技巧和注意事项,需要的朋友参考一下 使用如下命令为 ubuntu 系统安装 virtualenv 当我们使用 virtualenv 命令创建虚拟环境时,默认使用的 python 解释器为 /usr/bin/python27(然后创建该解释器对应的副本),那

  • 问题内容: 当前,我们通过在under属性中提及它们的版本和依赖项来在系统上设置\安装一些软件包。我们的系统需要Python 2.7。有时,用户在其系统上拥有多个版本的Python,例如2.6.x和2.7,它说的某些软件包已经可用,但实际上在系统上的2.6站点软件包列表下可用。还有一些用户只有2.6,如何从中强制实施,或者有其他方法可以说只有python 2.7,而我们要更新的所有软件包仅适用于2