实用小技巧:三分钟教会在python使用虚拟环境(virtualenv)
简介
virtualenv可以通过搭建虚拟且独立的 Python 环境,将我们所需的依赖安装进去。这样就可以使每个项目环境与其他项目独立开来,保持环境的干净,同时也解决了包冲突的问题
注意win使用虚拟环境时最好使用管理员cmd,激活虚拟环境需要执行的命令activate,就是执行虚拟环境下Scripts目录中的activate文件,以及一系列批处理文件,powershell即使是管理员也执行不了这个文件,所以无法激活虚拟环境,也就使用不了虚拟环境
安装 配置虚拟环境(使用完如果不需要虚拟环境了,直接删除虚拟环境所在目录即可)
pip install virtualenv # 安装
D:\> mkdir my_venv 创建一个存放虚拟环境文件的目录#
目录: D:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2022/6/30 11:32 my_venv
D:\> cd my_venv # 进入目录
virtualenv venv # 创建名为venv的虚拟环境,venv 可替换为别的虚拟环境名称,执行后,在本地会生成一个与虚拟环境同名的文件夹,包含 Python 可执行文件和 pip 库的拷贝,可用于安装其他包
virtualenv --system-site-packages venv # 创建时使用系统中自带第三方库
virtualenv -p /usr/bin/python2.7 venv # 指定虚拟环境所使用python版本(前提,系统中已安装)
D:\my_venv> virtualenv fing # 将会在D:\my_venv>中创建一个名为fing的虚拟环境
created virtual environment CPython3.10.4.final.0-64 in 1074ms
creator CPython3Windows(dest=D:\my_venv\fing, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=C:\Users\mi\AppData\Local\pypa\virtualenv)
added seed packages: pip==22.1.2, setuptools==62.6.0, wheel==0.37.1
activators BashActivator,BatchActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
D:\my_venv\fing> cd Scripts # 进入其下Scripts目录
D:\my_venv\fing\Scripts> activate # 激活虚拟环境
(fing) D:\my_venv\fing\Scripts>pip3 list # 注意终端发生了变化
Package Version
---------- -------
pip 22.1.2
setuptools 62.6.0
wheel 0.37.1
(fing) D:\my_venv\fing\Scripts>deactivate # 关闭当前虚拟环境
D:\my_venv\fing\Scripts>
相关命令(注意在虚拟环境的Scripts目录下执行,这些命令都是虚拟环境的Scripts目录下的bat批处理文件)
lsvirtualenv -b # 列出虚拟环境
workon [虚拟环境名称] # 切换虚拟环境
lssitepackages # 查看环境里安装了哪些包
cdvirtualenv [子目录名] # 进入当前环境的目录
cpvirtualenv [source] [dest] # 复制虚拟环境
rmvirtualenv [虚拟环境名称] # 删除虚拟环境
不在主机安装python并创造需要的 python以及相关库 的虚拟环境
注意:可以在某种对python版本存在要求的时候使用,或者对 第三方依赖包 有要求的时候使用,或者在想保持纯净python环境时使用,以及最重要的一点,可移植,相关python虚拟环境只要配置好后,那么将虚拟环境的文件夹移动到另一台电脑上,并在此电脑安装上virtualenv,直接激活就可以使用
python官网找到对应版本zip包,注意初始状态包中有python.exe文件,下载后解压,执行如下类似的命令,将创造对应python版本的虚拟环境
virtualenv -p D:\my_venv\python-3.7.7-embed-amd64\python.exe venv
python2的win安装包无zip,所以需要python2的虚拟环境,还是需要先安装,然后指定python2的exe文件,创造虚拟环境