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