有时候在复现项目的时候需要配置conda环境。当你不想要创建一个新的环境,而在你之前的环境中运行的时候,可能会出现包缺失的情况。但是直接执行 pip install -r requirements.txt 可能会覆盖旧的包(例如torch等,非常耗时)。下面的方法可以从requirements.txt中安装缺失的包:
在终端执行
bash
# 这一行命令的意思是:读取文件,提取包名,如果 pip show 找不到该包,就安装它
while read line; do
# 提取包名(去掉 == 及其后的版本号)
pkg=$(echo $line | cut -d'=' -f1 | cut -d'>' -f1 | cut -d'<' -f1);
if [ -n "$pkg" ]; then
if ! pip show $pkg > /dev/null 2>&1; then
echo "正在安装缺失的包: $line"
pip install "$line"
else
echo "包 $pkg 已存在,跳过..."
fi
fi
done < requirements.txt