virtualenv 需求文件 - 检查包的存在性

0 投票
2 回答
997 浏览
提问于 2025-04-16 23:15

我有一个需求文件,其中很多库都不存在。为了简化这个文件,我需要做以下几步:

  • 用命令 pip install -r requirements.txt 安装库
  • 查看哪个库安装失败
  • 把失败的库从 requirements.txt 文件中删除
  • 重复这个过程

对于80多个文件来说,这个过程非常繁琐,因为每个文件里大约有三个库会失败……有没有办法在处理需求文件之前,先检查一下,列出那些不存在的库或版本呢?

谢谢!

2 个回答

0

我希望这还不算太晚:

我写了一个脚本,它会尝试安装requirements.txt文件里的每一个包。如果成功安装了某个包,它就会把这个包的名字添加到一个叫“existent.txt”的文件里。所以,所有成功安装的包的列表都会在“existent.txt”里。

while read line
do
    pip install $line;
    pip freeze | grep $line && echo $line >> existent.txt;
done < requirements.txt

你可以把这个放在一个file.sh文件里,想执行的时候就可以运行它。

0

我在这个链接找到了检查一个软件包是否安装的代码:

http://code.activestate.com/recipes/440501-list-information-about-installed-python-packages-a/

也许你可以从这里找到一些有用的信息。

祝好,

Ste

撰写回答