【python】依赖包离线整体迁移方法
项目目前需要迁移平台,新平台服务器不能联网,只能离线安装了,老平台上python包还比较多,需要批量迁移,方法如下:
迁移步骤
1、老平台,新建site-packages
目录,进入到site-packages
目录下
2、在site-packages
目录下执行pip freeze >requirements.txt
3、打开查看requirements.txt,可以看到当前机器的python所有依赖包已生成列表
4、在当前目录下执行pip download -r requirements.txt
,可以看到pip开始下载依赖包列表中的所有依赖包
5、等待下载完成后,可以看到当前目录下已经有了依赖包文件
6、将site-packages文件夹打包,移动至我们需要这些依赖包的机器上;
7、在新服务器的site-packages目录下执行:pip install --no-index --find-links=/xxx/xxx/site-packages -r /xxx/xxx/site-packages/requirements.txt
(其中:/xxx/xxx/site-packages是指定依赖包路径,/xxx/xxx/site-packages/requirements.txt是指定依赖包列表路径);
8、执行pip list
,查看当前pip安装的所有python依赖库,可以看到我们迁移过来的库已经安装成功了
注意事项
下载的大部分包都是.whl
或者是.tar.gz
的,这种直接迁移就好,我在安装的时候发现了,有的包比如:Twisted==18.9.0
,就是.tar.bz2
的(只有这一个包),这种压缩包的解压方式和.tar.gz
不一样,所有在接下来执行命令的时候会报错(都是互相依赖的,我懒得缕清各个包之间的关系,所以→),这个时候可以在老机器上把版本升级一下,升级到19.10.0
,之后从步骤一再来一遍,这样就可以继续批量安装了。