python虚拟环境迁移(python虚拟环境迁移到离线环境)

主机A的虚拟环境向主机B迁移。

前提条件:主机A和主机B 已经安装了virtualenv

1.主机A操作如下


虚拟环境目录:venv

进入虚拟环境:source venv/bin/active

(1)记录虚拟环境中的依赖包:

pip freeze >requirements.txt


(2)打包pip和wheel的whl文件

pip wheel --wheel-dir=/tmp/packages pip

pip wheel --wheel-dir=/tmp/packages wheel


(3)打包所有的依赖包的whl文件

pip wheel --wheel-dir=/tmp/packages -r requirements.txt


(4)下载get-pip文件

wget https://bootstrap.pypa.io/get-pip.py


(5)压缩

zip /tmp/packages.zip /tmp/packages -r


2.主机B操作如下(离线服务器)


将packages.zip和requirements.txt上传到离线服务器

(1)解压

unzip packages.zip

虚拟环境目录:venv

进入虚拟环境:source venv/bin/active


(2)安装pip

python get-pip.py --no-index --find-links=/tmp/packages


(3)安装wheel

pip install --no-index --find-links=/tmp/packages wheel


(4)安装其他包

pip install --no-index --find-links =/tmp/packages -r requirements.txt


安装单个包


(1)有网的服务器打包

pip wheel --wheel-dir=/tmp/packages celery

指定包的版本

pip wheel --wheel-dir=/tmp/packages celery==3.1.18

(2)同步文件到正式环境

(3)无网的服务器

pip install celery-3.1.18.whl