--use-mirrors 的规范替代品

2023-11-22

PyPI 可能不可靠。不幸的是,我有很多 Travis-CI 构建失败的情况,因为 pip 无法安装我的要求之一(lxml 是最臭名昭著的罪犯)。

各种在线资源推荐--use-mirrorsflag,到目前为止已经为我解决了这个问题。然而,--use-mirrors is 已弃用有很多充分的理由。

不幸的是,正如链接中提到的,删除该标志的主要原因之一是新的 CDN 支持的 PyPI 不应该出现相同的问题。确实如此。我的构建仍然存在问题,并且我仍然无法使用 pip 可靠地安装软件包,除非我使用--use-mirrors.

The 发行说明对于 2014 年 1 月 1 日发布的 1.5,建议使用以下标志之一-i, -index-url, or --extra-index-url。这很棒,除了...我们遇到了一些与--use-mirrors也就是说,这些镜子不一定是可信的。

The PyPI 镜像列表实际上已经被删除了,给我们留下了一些非官方镜子。因此我只剩下一个选择:继续使用--use-mirrors并希望上述问题之一在被移除之前得到解决,或者选择一面镜子并希望它能工作并且值得信赖。

是否有一个被广泛接受和信任的镜子?或者是一个被广泛接受和信任的替代方案?基本上,我应该如何处理这个问题?


坦率地说,我从未遇到过您所描述的问题 - 所以我不知道如何解决公共 pypi 索引的问题。

然而,作为一般做法;我可以推荐以下我们在部署时使用的内容(因为我们部署的系统无法访问互联网):

  1. 创建本地 pypi 镜像,并在那里发布您的包。您可以通过多种方式做到这一点。简单的方法是basket或者您可以像我们一样创建您自己的 pypi 镜像(请参阅:如何滚动我自己的 pypi?以获得一些建议)。

  2. Use wheel。这就是我们要迁移的目标,因为安装过程非常简单,并且不需要依赖其他服务器。

我知道拥有全局 pypi 索引非常方便,但作为部署构建链的一部分,我将使用它作为备份;其一,它位于我无法控制的网络上(因此它可能无法访问或不可靠);更重要的是,我的系统在构建过程中可能不需要访问互联网。

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

--use-mirrors 的规范替代品 的相关文章

随机推荐

  • 如何获取进程使用的所有内存地址空间?

    我需要知道进程使用的所有内存地址空间 稍后将扫描内存空间以定位进程内的值并识别它们的位置 地址 我当前的处理过程是通过其 基地址 内存大小 获取每个模块的基地址 我正在一个已知地址处具有已知值的进程上对此进行测试 当我查找该特定地址时 我得
  • 为 RecyclerView 项目添加波纹效果

    我正在尝试将波纹效果添加到 RecyclerView 的项目中 我在网上查了一下 但找不到我需要的东西 我认为它必须是自定义效果 我已经尝试了 RecyclerView 本身的 android background 属性并将其设置为 and
  • C中的双精度等于0问题

    我正在用 C 实现一种计算自然对数的算法 double taylor ln int z double sum 0 0 double tmp 1 0 int i 1 while tmp 0 0 tmp 1 0 i pow z 1 0 z 1
  • Cobol 的优点是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我喜欢花时间研究语言的酷功
  • 如何使用 pdfbox 将 PDPage 插入另一个 PDPage

    我使用不同的工具 例如处理 来创建矢量图 这些图被写成单页或多页 pdf 我想使用 pdfbox 将这些图包含在一个类似报告的 pdf 中 我当前的工作流程包括这些 pdf 作为图像 并具有以下伪代码 PDDocument inFile P
  • 带有张量流的鼻子测试:大量调试输出,如何禁用

    当我使用nosetests通过 TensorFlow 的一些测试脚本 我从 TensorFlow 获得了大量调试输出 az azmacbookpro P crnn gt nosetests tests test TFUtil py Leve
  • d3 Sankey - 突出显示从开始到结束的所有连接路径

    我试图突出显示所有连接的链接及其目标节点的链接 直到布局结束 第一级突出显示可以轻松实现 如下所示 单击节点时 调用highlight paths 1 function highlight paths stroke opacity retu
  • R - Excel VLOOKUP 等效项 - 查找、替换 [重复]

    这个问题在这里已经有答案了 我几乎到处都找遍了 但找不到答案 R 相当于 Excel 上的 VLOOKUP VLOOKUP 允许我在整个列中查找特定值并将其应用到数据框的每一行 在本例中 我想找到特定城市所在的国家 地区 从数据库中 并在新
  • Rails 使用 select2 (和 simple_form)充当可标记的角色

    我想要一个 select2 标签下拉菜单 我可以在其中选择多个现有标签并添加新标签 我尝试了很多不同的方法 但要么 select2 框不起作用 要么只传递一个值 最后一个 这是我得到的最接近的 通过最后一个值 正如我之前提到的 普通的 se
  • 呈现具有透明度和动画的视图控制器

    我正在设置self window rootViewController modalPresentationStyle UIModalPresentationCurrentContext 在我的应用程序委托中 以便我可以呈现视图控制器并使视图
  • 使用 selenium 时如何禁用 Firefox 中的附加组件

    我在我的 Rails 项目 在 Ubuntu 10 04 系统上 中使用 Capybara selenium 现在我刚刚升级了 Firefox 当我运行我的测试时 Firefox 会加载 但它现在已经安装了所有附加组件 并且会等待我设置每个
  • 如何使用 sass 在 Bootstrap 4 中创建一组新的颜色样式

    我开始浏览精彩的 Bootstrap 4 我想知道如何向 custom scss 添加一组全新的元素颜色 示例 现在您有 btn danger text danger 等 如何创建 例如 使用随机名称 crisp 集 这样您将拥有 btn
  • ASP.Net MVC 将多个参数传递给视图

    在 ASP Net MVC 中 我想根据 renderview 查询字符串参数呈现不同的部分视图 因此 为用户提供了选择通过缩略图或详细信息查看产品的便利 我可以访问控制器中选定的参数 但我不知道如何操作 或者是否应该将其与产品列表一起传递
  • 将 Vec 或 Vec 转换为 &str

    我正在进入 Rust 编程来实现一个小程序 但我在字符串转换方面有点迷失 在我的程序中 我有一个向量如下 let mut name Vec
  • 已达到速率限制。睡觉的目的:

    我正在收集推文以及来自 Twitter 的 API 的回复来构建数据集 并且我正在使用 python 中的 tweepy 库来实现这一点 但问题是我经常收到此错误 已达到速率限制 休眠 任意数量的秒 这耽误了我 我必须在最短的时间内收集尽可
  • 在 Spring Boot 中以编程方式配置 DataSource

    使用 Spring Boot 我可以实例化一个JdbcTemplate具有以下内容 Code Autowired private JdbcTemplate jdbcTemplate 特性 spring datasource url jdbc
  • Android Facebook 登录和网络服务器

    我正在开发一个 Android 应用程序和一个网站 也与 Android 客户端进行通信 我想使用 FB 登录 但我看到的问题是 客户端 使用FB登录 然后获取access token 客户端和 Web 服务器如何仅使用此 access c
  • Scala 数组映射返回 ArraySeq

    为什么我的工厂方法中不能有类型参数 import org junit runner RunWith import org scalatest junit JUnitRunner import org scalatest FunSuite R
  • Gnome 中 Python 应用程序的全局热键

    我想为在 Gnome 中运行的 Python 应用程序分配一个全局热键 我怎么做 我能找到的都是两年前的帖子 上面写着 好吧 几乎什么也没有 python keybinder 是相同的代码 但独立打包 现在也可以在 debian 和 ubu
  • --use-mirrors 的规范替代品

    PyPI 可能不可靠 不幸的是 我有很多 Travis CI 构建失败的情况 因为 pip 无法安装我的要求之一 lxml 是最臭名昭著的罪犯 各种在线资源推荐 use mirrorsflag 到目前为止已经为我解决了这个问题 然而 use