虚拟环境
引言
- 场景:两个或多个项目需要某一个库的版本不一样,默认情况下,使用都是全局python环境,不能在一个库安装多个版本的库,使得运行一个项目后,需要安装其他版本的库再运行另外一个项目
- 解决:创建虚拟环境,一个独立的python局部环境,一个项目对应一个虚拟环境,下载对应版本的库
一、概念
局部的、独立的python环境就是虚拟环境,拥有与全局python环境一样卸载安装等等的操作
二、virtualenv
-
安装 pip install virtualenv
-
文档说明:https://virtualenv.pypa.io/en/latest/user_guide.html -
使用
-
激活
- 进入虚拟环境目录/scripts文件夹,执行deactivate.bat
- 执行后,后续的操作如安装三方包与执行代码等等都基于这个虚拟环境(我测试是没有设置环境变量,没有进入进入虚拟环境目录/scripts文件夹还是系统的python解释器)
-
可以安装三方库、执行代码等等操作(都基于这个虚拟环境) -
退出虚拟环境
- 进入虚拟环境目录/scripts文件夹,执行deactivate.bat
- 执行后,后续的操作如安装三方包与执行代码等等都基于全局python环境
-
删除虚拟环境
-
注意:
- 当别人需要你代码在他机器跑时
- 方案一:连同虚拟环境文件夹和项目一起拷贝
- 方案二:在虚拟环境中冻结依赖需求文本,把项目和依赖需求文本给别人,别人自己创建一个虚拟环境,根据冻结文本安装相关库
二、pycharm使用虚拟环境
三、virtualenvwrapper-win集中式虚拟环境管理
-
文档说明:https://pypi.org/project/virtualenvwrapper-win/ -
基于virtualenv,更方便的管理virtualenv -
使用
-
创建一个虚拟环境(进入需要创建虚拟环境的目录) mkvirtualenv 虚拟环境名称
- 会创建在特定文件夹中,windows一般在用户目录的Envs文件夹下
- 激活新的虚拟环境
-
查看所有的虚拟环境 lsvirtualenv
workon
-
切换激活虚拟环境 workon 切换虚拟环名称
-
退出虚拟环境 deactivate
-
删除虚拟环境 rmvirtualenv 虚拟环境名称
四、更加基于项目的虚拟环境管理Pipenv
-
功能作用:pip + virtualenv,工具内部封装了以上两个功能 -
优势:
- 不需要再分别使用pip和virtualenv,直接使用Pipenv即可,会自动创建虚拟环境,以及安装第三方库,会记录你的项目依赖的所有三方库
- 使用Pipfile和Pipfile.lock取代了requirement.txt
-
文档说明:https://docs.pipenv.org/ -
使用
-
激活虚拟环境 pienv shell
-
可以安装三方库、执行代码等等操作(都基于这个虚拟环境),不要使用pip,使用pipenv -
退出虚拟环境
-
删除虚拟环境 pipenv --rm
-
注意:
- 当别人需要你代码在他机器跑时
- 连同使用Pipfile和Pipfile.lock和项目一起上传
- 执行pipenv install(不用加其他参数),pipenv shell 激活
|