我正在从requirements.txt安装包
pip install -r requirements.txt
requirements.txt文件如下:
Pillow
lxml
cssselect
jieba
beautifulsoup
nltk
LXML是唯一一个安装失败的包,这会导致一切失败(正如larsks在评论中指出的那样,这是预期的结果)。但是,在lxml失败之后,pip仍然运行并下载其余的包。
根据我的理解,如果requirements.txt中列出的任何一个包安装失败,pip install -r requirements.txt命令将失败。
当运行pip install -r requirements.txt时,是否有任何参数可以传递给它,告诉它安装它可以安装的包,跳过它不能安装的包,或者在它看到某些失败时立即退出?
Windows:
import os
from pip.__main__ import _main as main
error_log = open('error_log.txt', 'w')
def install(package):
try:
main(['install'] + [str(package)])
except Exception as e:
error_log.write(str(e))
if __name__ == '__main__':
f = open('requirements1.txt', 'r')
for line in f:
install(line)
f.close()
error_log.close()
创建一个本地目录,并将requirements.txt文件放在其中。
复制上面的代码,并将其保存为同一个目录中的python文件。记住使用.py扩展名,例如install_packages.py
使用cmd: python install_packages.py运行该文件
所有提到的包都将一次性安装,完全不会停止。:)
您可以在安装函数中添加其他参数。如:
Main (['install'] + [str(package)] +['——update'])