今天把外网安装的python包迁移到内网,在网上找到了相关命令:
假如包的路径放在d:\site-packages\ , 里面有一个pip导出的requirements.txt文档。 安装命令为:
pip install --no-index --find-links=d:\site-packages\ -r d:\site-packages\requirements.txt
结果因为要装的包太多,大概有60多个,有一些可能直接用pip装不上,就一直报错,每报错一个就删除 一个,后来实在不耐烦了,在网上搜索了下教程,自己写了个脚本来批量安装包。
import pip
from subprocess import call
f= open("requirements.txt")
for dist in f.readlines():
#print(dist,end="")
call("pip install --no-index --find-links=d:\site-packages\ " + dist,shell=True)
一次下来,可以安装所有的包,并且会跳过错误信息。原因是:
- pip安装命令报错只会在内部报错,相当于这个cmd命令还是执行成功了,所以不影响整体程序运行。
- 循环里每次调用一次pip安装命令,前面的命令执行错误不影响后面的命令运行。不像是pip自身的安装命令,只要有一个出错了就会中断。