返回列表 发帖

Python3使用Virtual Environment

使用Virtual Environment,可搭建一个与操作系统互不干扰的Python环境。

实验中,操作系统的版本为 Windows2012R2 ,安装Python3可参考:Windows2012R2安装Python3

服务器连接公网安装第三方库(虚拟环境):
C:\Users\Administrator>pip3 install virtualenv -i http://mirrors.aliyun.com/pypi/simple --trusted-host=mirrors.aliyun.com

安装成功:
图片1.png



######

列出当前环境中所有已经安装的第三方库的名称和其版本号:
C:\Users\Administrator>pip3 freeze
distlib==0.3.4
filelock==3.4.1
importlib-metadata==4.8.3
importlib-resources==5.4.0
platformdirs==2.4.0
six==1.16.0
typing-extensions==4.1.1
virtualenv==20.13.3
zipp==3.6.0

C:\Users\Administrator>

注释:会附带安装一些其他的依赖软件包。



######

保存当前环境中所有已经安装的第三方库的名称和其版本号信息到文件:
C:\Users\Administrator>pip3 freeze > d:\1.txt

C:\Users\Administrator>

注释:文件d:\1.txt会自动创建。



输出文件内容:
C:\Users\Administrator>type d:\1.txt
distlib==0.3.4
filelock==3.4.1
importlib-metadata==4.8.3
importlib-resources==5.4.0
platformdirs==2.4.0
six==1.16.0
typing-extensions==4.1.1
virtualenv==20.13.3
zipp==3.6.0

C:\Users\Administrator>



######

使用命令virtualenv搭建一个与操作系统隔离的测试环境:
C:\Users\Administrator>virtualenv D:\environment\vir1 -p python
图片2.png
注释:测试环境的根目录为 D:\environment\vir1 ,会自动生成的。


在目录 D:\environment\vir1 里,会自动生成很多文件和文件夹,这就是一个已经创建好的虚拟环境,如下图:
图片3.png

图片4.png



######

激活Virtual Environment,就在这个隔离的虚拟环境里测试Python脚本:
C:\Users\Administrator>D:\environment\vir1\Scripts\activate

(vir1) C:\Users\Administrator>pip3 freeze

(vir1) C:\Users\Administrator>

图片5.png
备注:这是一个干净、独立的环境,不会有真实环境中已经安装的第三方库。



连接公网,在虚拟环境中安装第三方库(psutil):
(vir1) C:\Users\Administrator>pip3 install psutil -i http://mirrors.aliyun.com/pypi/simple --trusted-host=mirrors.aliyun.com
图片6.png


###

在虚拟环境中运行使用了第三方库(psutil)的脚本:
(vir1) C:\Users\Administrator>cd Desktop

(vir1) C:\Users\Administrator\Desktop>python xx.py

图片7.png


###

在真实环境中运行使用了第三方库(psutil)的脚本:
C:\Users\Administrator>cd Desktop

C:\Users\Administrator\Desktop>python xx.py

图片8.png


注释:在虚拟环境中安装的第三方库,在真实环境中是不存在的。



######

再连接公网,在虚拟环境中安装第三方库(retry):
(vir1) C:\Users\Administrator>pip3 install retry -i http://mirrors.aliyun.com/pypi/simple --trusted-host=mirrors.aliyun.com


再次列出虚拟环境中所有已经安装的第三方库的名称和其版本号:
(vir1) C:\Users\Administrator>pip3 freeze
decorator==5.1.1
psutil==5.9.0
py==1.11.0
retry==0.9.2


(vir1) C:\Users\Administrator\Desktop>



###

保存虚拟环境中所有已经安装的第三方库的名称和其版本号信息到文件:
(vir1) C:\Users\Administrator\Desktop>pip3 freeze > d:\2.txt

(vir1) C:\Users\Administrator\Desktop>
(vir1) C:\Users\Administrator\Desktop>type d:\2.txt
decorator==5.1.1
psutil==5.9.0
py==1.11.0
retry==0.9.2

(vir1) C:\Users\Administrator\Desktop>





######

当切换到一台新的服务器时,只需要运行下面命令就可以在真实环境中安装上面虚拟环境中所有已经安装的第三方库:
C:\Users\Administrator>pip3 install -r d:\2.txt -i http://mirrors.aliyun.com/pypi/simple --trusted-host=mirrors.aliyun.com

笺注:在新的环境中,会根据文件(d:\2.txt)中的软件信息,重新从公网下载第三方库;软件版本也会保持一致。



安装完成后,列出真实环境中所有已经安装的第三方库的名称和其版本号:
C:\Users\Administrator>pip3 freeze
decorator==5.1.1
psutil==5.9.0
py==1.11.0
retry==0.9.2


C:\Users\Administrator>





######

Windows下卸载安装好的第三方库(虚拟环境):
C:\Users\Administrator>pip3 uninstall virtualenv -y
Uninstalling virtualenv-20.13.3:
  Successfully uninstalled virtualenv-20.13.3


C:\Users\Administrator>





相关文章:
Windows使用第三方库psutil
retry装饰器

CentOS8使用Virtual Environment

返回列表