如何通过允许预发布来指定 Python 要求?

2023-12-21

我对声明 Python 包需求的正确方法有些困惑。

未正式发布的新版本确实有预发布名称,例如0.2.3.dev20160513165655.

当我们添加时,pip 非常聪明地安装预发行版--pre选项,当我们构建开发分支时,我们确实使用它。主分支不使用它。

我发现如果我把foobar>=0.2.3在需求文件中,即使我指定了 --pre 参数,也不会选择开发版本。

The 点子文档 https://pip.readthedocs.io/en/stable/reference/pip_install/#requirements-file-format在这里没有太多帮助,因为缺少指出有关预发布的任何内容。

我使用了 put 的方法foobar>0.2.2--pre将安装预发行版。

即使这样,如果有点缺陷,因为如果我们发布像这样的修补程序0.2.2.1它可能已经选择了它。

那么,处理这个问题的最佳方法是什么?

旁注:当我们发布版本(从开发到主控的拉取请求)时,我们非常希望不必修补需求文件。请记住,开发分支始终使用--pre而主人却没有。


对于遇到这个问题的其他人来说,答案是在同一文档中 https://pip.readthedocs.io/en/stable/reference/pip_install/#pre-release-versions:

如果需求说明符包含预发布或开发版本(例如>=0.0.dev0)然后 pip 将允许满足该要求的预发布和开发版本。这不包括 != 标志。

因此,指定>=0.2.3.dev0或类似的应该选择“最新”预发行版。

请注意,如果您已经有0.2.3已发布,它总是比预发布“更新”,例如0.2.3.dev20160513165655. PEP 440 https://www.python.org/dev/peps/pep-0440/#developmental-releases说如下:

开发版本段由字符串组成.dev,后跟一个非负整数值。开发版本按其数字组件排序,紧邻相应版本之前(以及具有相同版本段的任何预版本之前),以及任何先前版本之后(包括任何后版本)。

它还说:

...强烈建议不要将预发布的开发版本发布到通用公共索引服务器,因为这会使版本标识符难以为人类读者解析。如果需要发布这样的版本,那么通过增加数字组件来创建新的预版本会更加清晰。

发布后的开发版本也是强烈反对的......

所以理想情况下你不会使用日期戳,而是使用类似的东西dev1, dev2, dev3。我认为 PEP 实际上是说你应该使用0.2.3.dev1, 0.2.4.dev1, 0.2.5.dev1,但两者都具有同等的可读性。这实际上取决于您要生成多少版本。

在你的情况下,如果0.2.3已经发布,所有后续开发版本都需要0.2.4.dev20160513165655以便pip会看到它较新。

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

如何通过允许预发布来指定 Python 要求? 的相关文章

  • 错误:process_executor.py:702: ... 当一些作业被分配给执行器时,工作人员停止了。这可能是由于工作超时太短造成的

    根据主题中的错误 修复方法是什么 环境 Python 3 9 或 3 10 Windows 10 x64 使用时出现错误joblib https joblib readthedocs io en latest 对于并行处理 result c
  • 在python中将数据库表写入文件的最快方法

    我正在尝试从数据库中提取大量数据并将其写入 csv 文件 我正在尝试找出最快的方法来做到这一点 我发现在 fetchall 的结果上运行 writerows 比下面的代码慢 40 with open filename a as f writ
  • 将 numpy 数组合并为单个 int

    numpy 数组怎么可以这样 10 22 37 45 转换为单个 int32 数字 如下所示 10223745 这可以工作 gt gt gt int join map str 10 22 37 45 10223745 基本上你使用map s
  • 是否可以从 Julia 调用 Python 函数并返回其结果?

    我正在使用 Python 从网络上抓取数据 我想使用这些数据在 Julia 中运行计算 是否可以在 Julia 中调用该函数并返回其结果 或者我最好直接导出到 CSV 并以这种方式加载数据 绝对地 看PyCall jl https gith
  • 从 Azure ML 实验中访问 Azure Blob 存储

    Azure ML 实验提供了通过以下方式读取 CSV 文件并将其写入 Azure Blob 存储的方法 Reader and Writer模块 但是 我需要将 JSON 文件写入 blob 存储 由于没有模块可以执行此操作 因此我尝试在Ex
  • 在Python上获取字典的前x个元素

    我是Python的新手 所以我尝试用Python获取字典的前50个元素 我有一本字典 它按值降序排列 k 0 l 0 for k in len dict d l 1 if l lt 51 print dict 举个小例子 dict d m
  • Python将文本文件解析为嵌套字典

    考虑以下数据结构 HEADER1 key value key value HEADER2 key value key value HEADER3 key value HEADER4 key value key value 原始数据中没有缩进
  • 使用 for 循环创建一系列元组

    我已经搜索过 但找不到答案 尽管我确信它已经存在了 我对 python 很陌生 但我以前用其他语言做过这种事情 我正在以行形式读取数据文件 我想将每行数据存储在它自己的元组中 以便在 for 循环之外访问 tup i inLine wher
  • 从 Flask 运行 NPM 构建

    我有一个 React 前端 我想在与我的 python 后端 API 相同的源上提供服务 我正在尝试使用 Flask 来实现此目的 但我遇到了 Flask 找不到我的静态文件的问题 我的前端构建是用生成的npm run build in s
  • pandas 相当于 np.where

    np where具有向量化 if else 的语义 类似于 Apache Spark 的when otherwise数据帧方法 我知道我可以使用np where on pandas Series but pandas通常定义自己的 API
  • Python 中维基百科 API 中的 DisambiguationError 和 GuessedAtParserWarning

    我想获得维基百科与搜索词相关的可能且可接受的名称列表 在这种情况下是 电晕 当输入以下内容时 print wikipedia summary Corona 这给出了以下输出 home virej local lib python3 8 si
  • 在Raspberry pi上升级skimage版本

    我已经使用 Raspberry Pi 2 上的 synaptic 包管理器安装了 python 包 然而 skimage 模块版本 0 6 是 synaptic 中最新的可用版本 有人可以指导我如何将其升级到0 11 因为旧版本中缺少某些功
  • Python bug - 或者我的愚蠢 - 扫描字符串文字时 EOL

    我看不出以下两行之间有显着差异 然而第一个解析 而后者则不解析 In 5 n Axis of Awesome In 6 n Axis of Awesome File
  • 如何在亚马逊 EC2 上调试 python 网站?

    我是网络开发新手 这可能是一个愚蠢的问题 但我找不到可以帮助我的确切答案或教程 我工作的公司的网站 用 python django 构建 托管在亚马逊 EC2 上 我想知道从哪里开始调试这个生产站点并检查存储在那里的日志和数据库 我有帐户信
  • minizinc python 安装

    我通过 anaconda 提示符在 python 上安装了 minizinc 就像其他软件包一样 pip install minizinc 该软件包表示已成功安装 我可以导入该模块 但是 我正在遵循基本示例https minizinc py
  • 如何给URL添加变量?

    我正在尝试从网站收集数据 我有一个 Excel 文件 其中包含该网站的所有不同扩展名 F i www example com example2 我有一个脚本可以成功从网站中提取 HTML 但现在我想为所有扩展自动执行此操作 然而 当我说 s
  • rpy2 无法加载外部库

    希望有人能帮忙解决这个问题 R版本 2 14 1rpy2版本 2 2 5蟒蛇版本 2 7 3 一直在尝试在 python 脚本中使用 rpy2 加载 R venneuler 包 该包以 rJava 作为依赖项 venneuler 和 rJa
  • 如何从namedtuple实例列表创建pandas DataFrame(带有索引或多索引)?

    简单的例子 from collections import namedtuple import pandas Price namedtuple Price ticker date price a Price GE 2010 01 01 30
  • 如何(安全)将 Python 对象发送到我的 Flask API?

    我目前正在尝试构建一个 Flask Web API 它能够在 POST 请求中接收 python 对象 我使用 Python 3 7 1 创建请求 使用 Python 2 7 运行 API 该 API 设置为在我的本地计算机上运行 我试图发
  • 定义在文本小部件中双击时选择哪些字符

    在 Windows 上 双击文本小部件中的单词也将选择连接的标点符号 有什么方法可以定义您想要选择的角色吗 tcl wordchars该变量的值是一个正则表达式 可以设置它来控制什么被视为 单词 字符 例如 通过双击 Tk 中的文本来选择单

随机推荐

  • jQuery 输入掩码

    嘿 我是 jQuery 新手 我想检查输入框上的 onblur 这种格式 cda 123 表示前 3 个字符空间和 3 个整数 通常我看到代码是写在输入 ID 上的 但如果我想写在类上 那么我该怎么做 例如我有 class InputMas
  • Python - 从多个 Zip 文件中提取 CSV 文件并合并数据

    我有一个 Python 脚本和 pandas 来组合多个 ZIP 文件 我在这里使用 GitHub 存储库中托管的数据 https github com statistikat coronaDAT https github com stat
  • 如何打包 C# 9 源生成器并将其上传到 Nuget?

    我做了一个C 9源代码生成器 你可以找到它here https github com HamedFathi MockableStaticGenerator 当我在另一个解决方案中使用整个项目并将其作为项目引用时 它可以工作 但是当我将其与当
  • 如何在 Amazon EC2 上部署 Eclipse Java Web 动态项目?

    我正在尝试创建一个能够与 Amazon RDS 通信的 Web 项目 我知道如何使用 JDBC 将 localhost 项目连接到 RDS 然而 问题是我从未尝试部署我的项目 这样 例如有人可以输入somePage com 然后转到我的网页
  • 使Python json编码器支持Python的新数据类

    从Python 3 7开始 有一个叫做数据类的东西 from dataclasses import dataclass dataclass class Foo x str 但是 以下情况会失败 gt gt gt import json gt
  • 如何在mui主题中插入字体

    在index css 文件中我有一个字体 我想完全避免这个文件 并将这个配置放在作为 MUI 库实现的一部分创建的 theme js 文件中 怎么做 索引 css font face font family ATTAleckSans W L
  • Java Native Access 不支持 C++,对吗?

    我在网上找到了许多关于用于 C 库的 JNA 的参考 包括 stackoverflow 上的一些 但我在 JNA 文档中找不到任何内容表明这是可能的 特别是 似乎没有任何方法可以包装 C 类 我需要本机访问才能使用 RTAudio 但 RT
  • ASMX 返回纯字符串

    我有一个 ASP NET Web 服务 asmx 我的服务定义如下 System Web Services WebService Namespace http tempuri org System Web Services WebServi
  • 用 Java 将数据发送到打印机

    然而 下面的代码将数据发送到打印机 当它到达打印机队列时 它会返回一个Unable to convert PostScript file 我认为可以通过指定口味来克服这个问题 但事实并非如此 import javax print Doc i
  • 如何找到两个凸包的交集?

    我有两个凸包 让我们假设它们被给出为scipy spatial ConvexHulls import numpy as np points1 np random rand 10 3 points2 np random rand 10 3 h
  • 2台服务器之间的Websocket?

    我想知道是否可以在 2 个网络服务器之间而不是在浏览器和后端之间使用 websockets 我运行 2 个 Node js 服务器并希望在它们之间交换数据 尝试看看node2node socket io https github com d
  • 使用 winmain 和简单代码编译错误,“Previous declaration of WinMain”

    include
  • appengine 在中国可以用吗?

    我们的一些客户想知道 查看一些关于信息不一致的帖子 http code google com p googleappengine issues detail id 1144 http code google com p googleappe
  • iOS - 如何实现像默认相册一样裁剪图像?

    iPhone相册默认裁剪功能 有谁知道如何实现这一点 我想先剪掉它Use按钮被点击 尝试以下其中一项 您可能会找到一个完全可以做到这一点的开源软件
  • JBoss 7 未经过 Java EE6 认证

    我真的很想知道这到底意味着什么 我可以在开发和生产中使用 JBoss 7 的所有 EE 6 功能 我需要 JMS EJB 3 1 JSF 2 1 CDI 还是必须等待 JBoss 7 的更高版本 如果没有 那么由于 JBoss 6 x 仅通
  • 如何在 PHP 中注释掉正则表达式的 */ 部分

    我有 preg replace 函数 我正在调用它并放在多行上以提高可读性 但是 正则表达式中的字符弄乱了注释 如何注释掉所有这些行而不将它们全部移动到一行上 return preg replace Lorem Ipsum More Lor
  • 如何在批处理文件中获取一年中的某一天

    如何从 Windows 批处理文件中的当前日期获取一年中的第几天 我努力了 SET A dayofyear Date 0 2 30 5 Date 3 2 但它不适用于闰年 并且总是会偏差几天 我不想使用任何第三方可执行文件 如果您想要儒略日
  • Delphi 2009:Vista下如何在Windows服务和桌面应用程序之间进行通信?

    Vista Windows2008 Windows7下桌面应用程序如何与Windows服务通信 应用程序需要向服务发送小字符串并接收返回的字符串响应 两者都是用Delphi 2009编写的 请同时提供示例代码 要走的路是命名管道 http
  • 如何使用 CSS 为背景图像着色?

    我有一个通过 CSS 设置的背景图像 html background image url img cello jpg background attachment fixed background size 100 我计划为网站的不同页面使用
  • 如何通过允许预发布来指定 Python 要求?

    我对声明 Python 包需求的正确方法有些困惑 未正式发布的新版本确实有预发布名称 例如0 2 3 dev20160513165655 当我们添加时 pip 非常聪明地安装预发行版 pre选项 当我们构建开发分支时 我们确实使用它 主分支