python虚拟环境系列(五):虚拟环境迁移

发布时间 2024-01-07 10:20:17作者: 全栈测试笔记

 

本系列汇总,请查看这里https://www.cnblogs.com/uncleyong/p/17947601

应用

本地创建的python虚拟环境,开发测试完项目功能需要部署到公司服务器或者客户现场环境,或者我们开发的自动化测试框架需要部署到公司服务器上,此时就涉及到虚拟环境迁移。

被迁移环境准备

pip list,只有最基本的模块

 

安装模块

 

pip list

 

生成requirements.txt文件、下载安装包

首先,把虚拟环境中已安装的包名称及版本号,并记录到 requirements.txt 文件中

输出虚拟环境中已安装的包名称及版本号到 requirements.txt 文件中:pip freeze > requirements.txt

虚拟环境中,创建一个临时目录,将安装包下载到该目录下,这里再Scripts目录下创建

mkdir whls

pip download -r requirements.txt -d .

也可以直接指定目录,这个目录会自动创建

pip download -r requirements.txt -d whls,如果requirements.txt不在当前路径,需要指定相对路径,在上一级就是pip download -r ../requirements.txt -d whls

whls文件夹内容


最后将虚拟环境打包。

迁移

1、目标环境服务器安装相同版本python

2、将打包的虚拟环境拷贝到目标服务器,然后解压,或者创建虚拟环境

3、激活虚拟环境

4、将 requirements.txt 文件 和 whls文件夹,放入虚拟环境的 Scripts 文件夹下(如果打包的虚拟环境已经包含且在Scripts目录下,此步可以忽略)

5、执行安装命令安装

如果不能连外网:
pip install --no-index --find-links=whls-r requirements.txt

如果可以连外网:
pip install -r requirements -i https://pypi.tuna.tsinghua.edu.cn/simple

 

依赖备份(忽略)

win7

click==8.0.4
colorama==0.4.5
dataclasses==0.8
Flask==1.1.2
importlib-metadata==4.8.3
itsdangerous==0.24
Jinja2==3.0.3
MarkupSafe==2.0.1
numpy==1.19.5
pandas==1.1.5
PyMySQL==0.8.0
python-dateutil==2.8.2
pytz==2023.3
redis==2.10.6
six==1.16.0
typing-extensions==4.1.1
Werkzeug==2.0.3
zipp==3.6.0

 

win10

beautifulsoup4==4.11.1
certifi==2021.5.30
chardet==3.0.4
click==7.1.2
ddt==1.2.1
Flask==0.12.1
idna==2.8
itsdangerous==1.1.0
Jinja2==2.11.3
jsonpath==0.81
lxml==4.9.2
MarkupSafe==1.1.1
PyMySQL==0.8.0
PyYAML==5.4.1
redis==2.10.6
requests==2.21.0
soupsieve==2.3.2.post1
urllib3==1.24.3
Werkzeug==0.16.1
xlrd==1.0.0
xlwt==1.3.0