【问题标题】:Pip install undetected failure modesPip install 未检测到的故障模式
【发布时间】:2020-01-07 16:59:48
【问题描述】:

我们有一组联网机器,通过pip install(通常是pip install -r requirements.txt)安装软件包。我们经常发现一个包安装不正确,通常也在缓存目录中。典型的问题是零长度文件。

我预计这里的问题是磁盘不足,但有问题的一些机器从来没有磁盘不足。

我所知道的是,我们以前有程序员需要接受培训才能检查 Linux 实用程序的返回码 - 也许他们没有?

对于知识渊博的人来说,我的问题是:我是否可以期望 pip 总是报告诸如此类(和其他)之类的故障,它会通过其退出代码来报告吗?

补充问题:如果不能像上面那样依赖 pip,是否有一种合理的万无一失的方法来检查库模块是否已正确安装?

【问题讨论】:

  • 也许这些不适用于 pip list ?您也可以尝试导入它们。
  • 这可能会更好直接指向maintainers of pip。我怀疑它对你的情况真的有帮助,但也许看看pip's "Hash-Checking Mode"pip's documentation section on "Ensuring Repeatability"。否则,我建议对已安装的项目运行测试套件以检查其完整性。更一般地说,我相信诸如 Nixcontainers 之类的工具会有所帮助。
  • @amh 另外,如果我对 pip 安装的每个项目的理解正确,应该有一个 *.dist-info/RECORD file 包含应该安装的文件的名称及其哈希和大小(以字节为单位)。
  • @sinroc 听起来很有趣

标签: python pip installation


【解决方案1】:

如果我对 pip 安装的每个项目的理解正确,应该有一个 *.dist-info/RECORD file 包含应该安装的文件的名称以及它们的哈希和大小(以字节为单位)。此信息可用于仔细检查安装是否顺利。

我怀疑它对你的情况真的有帮助,但在另一个层面(下载)也许看看 pip's "Hash-Checking Mode"pip's documentation section on "Ensuring Repeatability"

否则我会建议简单地针对已安装的项目运行一个测试套件以检查其完整性。

更新(2020-03-05)

PEP 458 将来可能会有所帮助。

【讨论】:

    猜你喜欢
    • 2018-08-05
    • 2012-12-05
    • 1970-01-01
    • 2020-05-27
    • 2018-01-23
    • 2014-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多