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

如何在install_requires中指定版本范围(setuptools,分发)

景鸿才
2023-03-14
问题内容

我想制作一个依赖于特定版本范围的软件包>= 0.5.0, < 0.7.0install_requires选项是否可能,如果可以,应该如何?


问题答案:

根据文档,您的语法应该正确运行。该文档指出:

setuptoolspkg_resources使用通用语法指定项目所需的依赖项。此语法由项目的PyPI名称组成,可以选择在方括号中添加逗号分隔的“引号”列表,还可以选择以逗号分隔的版本说明符列表。版本说明符是运算符<,>,<=,>
=,==或!=之一,后跟版本标识符。

该文档给出了一个简单的示例,如下所示:

docutils >= 0.3

# comment lines and \ continuations are allowed in requirement strings
BazSpam ==1.1, ==1.2, ==1.3, ==1.4, ==1.5, \
    ==1.6, ==1.7  # and so are line-end comments

为了进一步扩展,如果您希望您的软件包要求的版本docutils大于0.3版本但小于0.5版本,则可以使用如下代码:

docutils >= 0.3, <=0.5

另外两个注意事项。

  1. 该文档还指出,冗余/重叠依赖项规范将在内部进行组合,因此docutils >= 0.3, >=0.2将被组合为docutils >= 0.3
  2. 另外,请注意指定有冲突的版本号,“这是没有意义的,因此可能会产生奇怪的结果”。例如,我不知道您为什么这么做,但不要使用它:docutils >= 0.3, <=0.2因为这是不可能的。


 类似资料:
  • 具体地说,当文本字段中的第一个字符为0时,如何防止输入?controlP5筛选器不起作用。public void keyPressed(KeyEvent e){int key=e.getkeycode();if(key=>5&&key<=25)e.setkeychar(''...//x10.settext?如何使数字输入范围从textField中的第一个字符“、”和“0”开始?如果(points>

  • 问题内容: 如何指定从(空格)到Unicode字符的范围? 我有一个类似的正则表达式,它不会编译说这是一个错误的范围。我是Unicode正则表达式的新手,所以我以前从未遇到过此问题。 有没有办法使我忘记或尚未学习的编译或正则表达式? 问题答案: unicode范围的语法不会达到您的期望。 原始字符串可防止对转义进行解析,而正则表达式引擎将不执行此操作。此集合中的唯一范围是: in literal

  • 问题内容: 我正在为依赖私有GitHub存储库的项目创建文件。文件的相关部分如下所示: 我使用而不是因为后者不支持此答案的和参数。 上述设置文件无法访问私有存储库,并显示404错误- 这是可以预期的,因为GitHub将404返回给未经授权的私有存储库请求。但是,我不知道如何进行身份验证。 这是我尝试过的一些方法: 如果使用来安装仓库,请使用而不是in 。这会失败,因为setuptools无法识别此

  • 我正在为一个依赖于私有GitHub存储库的项目创建文件。文件的相关部分如下所示: 我使用而不是,因为后者不支持以下答案中的和参数。 上面的安装文件无法访问私有Repo,出现404错误-这是意料之中的,因为GitHub将404返回给对私有存储库的未经授权的请求。但是,我不知道如何使进行身份验证。 > 在中使用

  • Android Studio给我一个Gradle构建错误,看起来像这样: 现在它给了我这些可点击的提示: 我已经下载并安装了JDK 7。问题是,当我在“文件系统”中选择它时,我只能找到一个名为1.6的目录。0 JDK。此外,JDK 7的安装跳过了我选择安装目录的要点,所以我真的不确定它在哪里。我的java控制面板上说我有“Java7Update79”,所以我很确定我已经接近了,我只需要告诉andr

  • 我使用的是Maven3.6。 感谢帮助

  • 问题内容: 我想将数字限制在一定范围内。目前,我正在执行以下操作: 这样可以将其保留在和中,但看起来不太好。我怎样才能做得更好? PS:仅供参考,我正在使用Python 2.6。 问题答案: def clamp(n, minn, maxn): return max(min(maxn, n), minn) 或功能等效: 现在,您使用: 或者说得很清楚: 更清晰:

  • 问题内容: 如何从软件包中定义版本(出于或其他目的)? 问题答案: 询问已安装发行版的版本字符串 要在运行时从程序包内部检索版本(您的问题似乎在问什么),可以使用: 存储版本字符串以在安装期间使用 如果您想沿另一方向走动(这似乎是其他答案作者似乎认为您正在询问的问题),请将版本字符串放在单独的文件中,然后在中读取该文件的内容。 您可以用一行在软件包中创建一个version.py ,然后使用来从se