虚拟环境
引言
- 场景:两个或多个项目需要某一个库的版本不一样,默认情况下,使用都是全局python环境,不能在一个库安装多个版本的库,使得运行一个项目后,需要安装其他版本的库再运行另外一个项目
- 解决:创建虚拟环境,一个独立的python局部环境,一个项目对应一个虚拟环境,下载对应版本的库
一、概念
局部的、独立的python环境就是虚拟环境,拥有与全局python环境一样卸载安装等等的操作
二、virtualenv
安装
pip install virtualenv
使用
创建一个局部的隔离的虚拟环境(进入需要创建虚拟环境的目录)
virtualenv 虚拟环境名称
可选参数-p
到时候使用该参数指定的版本的python解释器执行代码,默认是你创建虚拟环境时用的python版本
virtualenv -p 指定版本的python.exe路径 虚拟环境名称
可选参数—system-site-packages
到时候虚拟环境没有会到系统的第三方库查找,没有指定只能在自己虚拟环境库里面查找
virtualenv --system-site-packages 虚拟环境名称
激活
- 进入虚拟环境目录/scripts文件夹,执行deactivate.bat
- 执行后,后续的操作如安装三方包与执行代码等等都基于这个虚拟环境(我测试是没有设置环境变量,没有进入进入虚拟环境目录/scripts文件夹还是系统的python解释器)
可以安装三方库、执行代码等等操作(都基于这个虚拟环境)
退出虚拟环境
- 进入虚拟环境目录/scripts文件夹,执行deactivate.bat
- 执行后,后续的操作如安装三方包与执行代码等等都基于全局python环境
删除虚拟环境
- 直接删除当前文件夹即可
注意:
- 当别人需要你代码在他机器跑时
- 方案一:连同虚拟环境文件夹和项目一起拷贝
- 方案二:在虚拟环境中冻结依赖需求文本,把项目和依赖需求文本给别人,别人自己创建一个虚拟环境,根据冻结文本安装相关库
- 当别人需要你代码在他机器跑时
二、pycharm使用虚拟环境
三、virtualenvwrapper-win集中式虚拟环境管理
基于virtualenv,更方便的管理virtualenv
使用
创建一个虚拟环境(进入需要创建虚拟环境的目录)
mkvirtualenv 虚拟环境名称
- 会创建在特定文件夹中,windows一般在用户目录的Envs文件夹下
- 激活新的虚拟环境
查看所有的虚拟环境
lsvirtualenv
workon
列出当下创建的所有虚拟环境切换激活虚拟环境
workon 切换虚拟环名称
激活指定1的虚拟环境
退出虚拟环境
deactivate
关闭当下所在的虚拟环境
删除虚拟环境
rmvirtualenv 虚拟环境名称
删除指定的虚拟环境,删除对应的文件夹,退出对应虚拟环境的状激活态
四、更加基于项目的虚拟环境管理Pipenv
功能作用:pip + virtualenv,工具内部封装了以上两个功能
优势:
- 不需要再分别使用pip和virtualenv,直接使用Pipenv即可,会自动创建虚拟环境,以及安装第三方库,会记录你的项目依赖的所有三方库
- 使用Pipfile和Pipfile.lock取代了requirement.txt
使用
创建一个虚拟环境(进入需要创建虚拟环境的目录)
pipenv --three 虚拟环境名称
查看相关信息
查看项目位置
pipenv --where
查看虚拟环境位置
pipenv --venv
查看解释器信息
pipenv --py
查看包依赖机构
pipenv graph
激活虚拟环境
pienv shell
可以安装三方库、执行代码等等操作(都基于这个虚拟环境),不要使用pip,使用pipenv
退出虚拟环境
- exit
- 或者关闭shell
删除虚拟环境
pipenv --rm
注意:
- 当别人需要你代码在他机器跑时
- 连同使用Pipfile和Pipfile.lock和项目一起上传
- 执行pipenv install(不用加其他参数),pipenv shell 激活
- 当别人需要你代码在他机器跑时
评论
TwikooLivere