【发布时间】: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"。否则,我建议对已安装的项目运行测试套件以检查其完整性。更一般地说,我相信诸如 Nix 或 containers 之类的工具会有所帮助。
-
@amh 另外,如果我对 pip 安装的每个项目的理解正确,应该有一个
*.dist-info/RECORDfile 包含应该安装的文件的名称及其哈希和大小(以字节为单位)。 -
@sinroc 听起来很有趣
标签: python pip installation