为什么 pip 安装我的软件包的旧版本?

2023-11-26

我刚刚将我的包的新版本上传到 PyPi (1.2.1.0-r4):我可以下载 Egg 文件并使用 easy_install 安装它,并且版本检查正确。但是当我尝试使用 pip 安装时,它会安装版本 1.1.0.0。即使我明确指定 pip 的版本pip install -Iv tome==1.2.1.0-r4,我收到此消息:Requested tome==1.2.1.0-r4, but installing version 1.1.0.0,但我不明白为什么。

我仔细检查了parse_version并确认 1.2.1 上的版本字符串大于 1.1.0 上的版本字符串,如下所示:

>>> from pkg_resources import parse_version as pv
>>> pv('1.1.0.0') < pv('1.2.1.0-r4')
True
>>>

那么知道为什么它选择安装 1.1.0 吗?


这是一个很好的问题。我花了很长时间才弄清楚。这是适合我的解决方案:

显然,如果pip可以找到该包的本地版本,pip会更喜欢本地版本而不是远程版本。我什至断开了计算机与互联网的连接并再次尝试 - 当pip仍然成功安装了软件包,甚至没有抱怨,来源显然是本地的。

就我而言,真正令人困惑的部分是pip找到了较新的版本pypi,报告了他们,然后继续重新安装旧版本......arggh。而且,它没有告诉我它在做什么以及为什么。

那么我是如何解决这个问题的呢?

你可以得到pip使用提供详细输出-v旗帜......但一个还不够。我 RTFM 编辑了帮助,其中说你可以做-v多次(最多 3 倍)以获得更详细的输出。所以我做了:

pip install -vvv <my_package>

然后我查看了输出。一行字引起了我的注意:

/tmp/pip-build-root/ 中的源版本为 0.0.11,满足要求

我删除了该目录,之后pip从 pypi 安装了最新版本。

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

为什么 pip 安装我的软件包的旧版本? 的相关文章

  • PyList_SetItem 与 PyList_SETITEM

    据我所知 PyList SetItem 和 PyList SETITEM 之间的区别在于 PyList SetItem 会降低它覆盖的列表项的引用计数 而 PyList SETITEM 不会 我有什么理由不应该一直使用 PyList Set
  • Python Nose 导入错误

    我似乎无法理解鼻子测试框架 https nose readthedocs org en latest 识别文件结构中测试脚本下方的模块 我已经设置了演示该问题的最简单的示例 下面我会解释一下 这是包文件结构 init py foo py t
  • Spark MLlib - 训练隐式警告

    我在使用时不断看到这些警告trainImplicit WARN TaskSetManager Stage 246 contains a task of very large size 208 KB The maximum recommend
  • 编辑 scikit-learn 决策树

    我想编辑 sklearn DecisionTree 例如改变条件或切割节点 叶子等 但似乎没有功能可以做到这一点 如果我可以导出到文件 编辑它以导入 如何编辑决策树 环境 Windows 10 python3 3 sklearn 0 17
  • 子进程改变目录

    我想在子目录 超级目录中执行脚本 我需要首先进入该子目录 超级目录 我无法得到subprocess进入我的子目录 tducin localhost Projekty tests ve python Python 2 7 4 default
  • Python 遍历目录树的方法是什么?

    我觉得分配文件和文件夹并执行 item 部分有点黑客 有什么建议么 我正在使用Python 3 2 from os import from os path import def dir contents path contents list
  • Python 中的安全解除引用

    Groovy 有一个很好的安全取消引用运算符 这有助于避免 NullPointerExceptions variable method The method仅当以下情况时才会被调用variable is not null 有没有办法在 Py
  • Scikit-learn 的内核 PCA:如何在 KPCA 中实现各向异性高斯内核或任何其他自定义内核?

    我目前正在使用Scikit learn 的 KPCA https scikit learn org stable modules generated sklearn decomposition KernelPCA html对我的数据集执行降
  • 如何找到列表S的所有分区为k个子集(可以为空)?

    我有一个唯一元素列表 比方说 1 2 我想将其拆分为 k 2 个子列表 现在我想要所有可能的子列表 1 2 1 2 2 1 1 2 我想分成 1 1 2 我怎样才能用 Python 3 做到这一点 更新 我的目标是获取 N 个唯一数字列表的
  • Python 正则表达式部分匹配或“hitEnd”

    我正在编写一个扫描器 因此我将任意字符串与正则表达式规则列表进行匹配 如果我可以模拟 Java hitEnd 功能 不仅知道正则表达式何时不匹配 还知道何时匹配 这将非常有用 can t匹配 当正则表达式匹配器在决定拒绝输入之前到达输入末尾
  • 用Python中的嵌套for循环替换重复的if语句?

    在我编写的下面的代码中 n 4 所以有五个 if 语句 所以如果我想将 n 增加到 比如说 10 那么就会有很多 if 语句 因此我的问题是 如何用更优雅的东西替换所有 if 语句 n p 4 5 number of trials prob
  • 网页抓取 - 前往第 2 页

    如何访问数据集的第二页 无论我做什么 它都只返回第 1 页 import bs4 from urllib request import urlopen as uReq from bs4 import BeautifulSoup as sou
  • Django - 电子邮件发送两次

    每当我使用如下所示的电子邮件设置从views py调用下面的方法时 电子邮件的两份副本都会发送给收件人 并且我收到如下所示的错误 def sendEmailBasic request msg EmailMessage Request Cal
  • RuntimeError: 预期所有张量都在同一设备上,但发​​现至少有两个设备,cpu 和 cuda:0!使用我的模型进行预测时

    我使用变压器训练了一个序列分类模型 BertForSequenceClassification 我收到错误 预计所有张量都在同一设备上 但发 现至少有两个设备 cpu 和 cuda 0 在方法wrapper index select中检查参
  • Python正则表达式从字符串中获取浮点数

    我正在使用正则表达式来解析字符串中的浮点数 re findall a zA Z d d t 是我使用的代码 这段代码有问题 如果数字和任何字符之间没有空格 则不会解析该数字 例如 0 1 2 3 4 5 6 7 8 9 的预期输出为 0 1
  • 求解不等式系统时“多项式错误:仅允许使用单变量多项式”

    我想找到以下两个常数的区间cons1 and cons2我写了下面的代码 from sympy import Poly from sympy import Abs from sympy solvers inequalities import
  • 如何强制 Y 轴仅使用整数

    我正在使用 matplotlib pyplot 模块绘制直方图 我想知道如何强制 y 轴标签仅显示整数 例如 0 1 2 3 等 而不显示小数 例如 0 0 5 1 1 5 2 等 我正在查看指导说明并怀疑答案就在附近matplotlib
  • Jupyter Notebook:没有名为 pandas 的模块

    我搜索了其他问题 但没有找到任何有帮助的内容 大多数只是建议您使用 conda 或 pip 安装 pandas 在我的 jupyter 笔记本中 我试图导入 pandas import pandas as pd 但我收到以下错误 Modul
  • SQLAlchemy:避免声明式样式类定义中的重复

    我正在使用 SQLAlchemy 并且我的对象模型中的许多类具有相同的两个属性 id 和 整数和主键 以及名称 字符串 我试图避免在每个类中声明它们 如下所示 class C1 declarative base id Column Inte
  • 从 pandas 数据框中绘制堆积条形图

    我有数据框 payout df head 10 复制以下 Excel 绘图的最简单 最智能和最快的方法是什么 我尝试过不同的方法 但无法让一切都到位 Thanks 如果您只想要一个堆积条形图 那么一种方法是使用循环来绘制数据框中的每一列 并

随机推荐

  • 如何将字典列表转换为两个列表?

    例如 persons id 1 name john id 2 name mary id 3 name tom 我想从中得到两个列表 ids 1 2 3 names john mary tom 我做了什么 names d name for d
  • Scala Play 2,将请求传递给方法

    我有一个Play 2 0 app TestController scala def foo p1 String Action implicit request gt Ok bar p1 private def bar p1 String a
  • JVM 在 libzip.so 处崩溃

    我的 JVM 总是在 libzip so 处连续意外地崩溃 我已向 Oracle 提交了该错误 但决定看看这里是否有人遇到过该问题 如果有 您是如何处理的 这是一个正在运行的网络应用程序 Linux 2 6 34 gentoo r6 1 S
  • 无法在 Windows 10 上安装 Windows SDK 7.1

    我是一名软件开发人员 拥有一台 Windows 10 电脑 我必须支持一些使用 Windows SDK 7 1 在 Visual Studio 2010 中编写的旧软件 在尝试搭建开发环境时 我已经成功安装了VS2010 并来安装Windo
  • GoogleTagManager 警告:未找到默认容器。容器需要添加到容器文件夹并添加到目标

    当尝试在我的 Swift 应用程序中实现 Google 跟踪代码管理器 v5 时 我遇到了以下警告 这给我带来了一些麻烦 GoogleTagManager 警告 未找到默认容器 需要将容器添加到容器文件夹并添加到目标 我花了比应有的时间更多
  • 无法将数据列从一个数据表复制到另一个数据表

    如何将 1 个数据表中的 1 个数据列复制到新的数据表中 当我尝试这样做时 我收到错误列 XXX 已经属于另一个数据表 dataColumn datatable1 Columns 1 datatable2 new DataTable dat
  • 如何以编程方式编辑路由表

    我正在编写一个在嵌入式平台上运行的守护程序 需要根据给定时间连接的接口来更改设备的默认路由 我怎样才能以编程方式做到这一点 我知道我可以使用 system route del default Route add default gatewa
  • 由于加密消息,无法将存储过程添加到数据库

    我设置了一个本地数据库 SQL Server 2017 Express 一切工作正常 但在 SSMS 中创建一个简单的存储过程时 我会遇到错误 例如 这个 CREATE PROCEDURE dbo EMS Operations SyncAs
  • 将 EF Core 列/字段指定为只读

    我有一个 SQL Server 表 其中包含数据库通过默认值设置的某些字段 一旦保存 应该never再次修改 例如DateCreated 在 Entity Framework Core 2 1 模型构建器或类中 我们如何将字段 标记 为本质
  • Plotly 中的行悬停文本

    我正在用 Plotly 绘制一个类似于Plotly 网站上的示例 除了图形节点上的悬停文本之外 我还希望边缘上有悬停文本 我尝试通过添加 名称 字段来修改边缘的跟踪对象来实现此目的 但这不起作用 而是将 名称 放在节点上 trace3 Sc
  • 鼠标移动旋转div

    我有以下代码来旋转 div 通过同一 div 右上角图像上的 mousedown 事件 我希望 div 旋转直到鼠标向上 从逻辑上讲 我相信代码很好 但点击后它就可以工作 当我单击其他项目时 旋转会停止 而不是鼠标松开 我认为在鼠标按下后拖
  • 使用curl和php从url读取xml数据

    我想从 URL 读取 XML 数据 我的网址如下 这是我的代码 Url http www arrowcast net fids mco fids asp sort city city number airline adi A if func
  • jQuery 选择器和反斜杠

    我有一个 dom 元素 其中包含完全限定名称作为 id 属性的一部分 div My Div div 让 jQuery 通过 ID 选择元素似乎是不可能的 这是我的实验 var e1 domain element div var e2 dom
  • 在数据库 mysql 中存储和检索同义词的最佳方法

    我正在制作一个同义词列表 我将其存储在数据库中并在进行全文搜索之前检索它 当用户输入 word1 我需要在同义词表中查找这个词 因此 如果找到该单词 我将选择该单词的所有同义词 并在下一个查询的全文搜索中使用它 我将在其中构造查询 例如 M
  • ggplot:仅在满足某些条件时才绘制图层

    有没有过滤的方法within ggplot本身 也就是说 说我想这样做 p lt ggplot iris aes x Sepal Width y Sepal Length species geom point size 4 shape 4
  • 扩展 Scala 集合

    我想要一个在尝试覆盖现有键的值时抛出的映射 我试过 trait Unoverwriteable A B extends scala collection Map A B case class KeyAlreadyExistsExceptio
  • 如何在 yacc 中将 yylval 与字符串一起使用

    我想传递令牌的实际字符串 如果我有一个名为 ID 的令牌 那么我希望我的 yacc 文件真正知道 ID 的名称 我想我必须使用 yylval 将字符串从 Flex 文件传递 到 yacc 文件 我怎么做 通过 yylval 返回字符串或任何
  • Castle DynamicProxy:代理接口时如何代理等于?

    我需要使用 Castle DynamicProxy 通过向 ProxyGenerator CreateInterfaceProxyWithTarget 提供接口实例来代理接口 我还需要确保对 Equals GetHashCode 和 ToS
  • 测试所有图片是否加载完毕

    这是我尝试测试所有图像是否已加载的能力 for var i 0 i lt imgCount i loadArr i false imgArr i new Image imgArr i src img i png imgArr i onloa
  • 为什么 pip 安装我的软件包的旧版本?

    我刚刚将我的包的新版本上传到 PyPi 1 2 1 0 r4 我可以下载 Egg 文件并使用 easy install 安装它 并且版本检查正确 但是当我尝试使用 pip 安装时 它会安装版本 1 1 0 0 即使我明确指定 pip 的版本