背景:1.协同开发时开发者A使用到了一个新依赖包,而开发者B本地并未安装这个包,如果A的代码上局,B更新代码本地运行时就会出问题。
2..开发途中有的项目要用到python2.7,有的需要用到python3.5,或者需要同时在多个环境下适配调试,如果没有一个好的版本管理工具,这样很容易造成版本和依赖包混乱。而vitualenv就能解决以上问题
下面说说vitualenv的基本使用,以winfows为例
-
本机环境为python3.6,我再安装一个python2.7的版本在D:\tools\Python27目录下,用于后面创建虚拟环境
-
接着安装virtualenv,直接使用命令
pip install virtualenv
-
进入项目workspace目录下使用命令
virtualenv venv -p D:\tools\Python27\python.exe --no-site-packages
,
venv
自定义虚拟环境名字
-p
后面接要创建虚拟的python版本路径
--no-site-packages
不使用系统环境的python安装包,即虚拟环境不能使用真实python环境的安装包
--system-site-packages
:虚拟环境能访问系统环境的python安装包
上图可以看到命令执行成功以后workspace下面创建了一个venv的目录,里面包含了python的可执行文件和基础依赖包,虚拟环境激活和退出如下
以上创建虚拟环境和切换虚拟环境操作也可以在pycharm软件进行,如下:
pycharm创建和导入虚拟环境以上就是vitualenv的基本操作,如果将虚拟环境随项目一同加入版本控制,就能保证所有开发人员的环境一致了
然而,如果本地python版本过多,并且上面的方式切换起来也比较复杂,那么强烈推荐你使用vitualenvwrapper
- 首先安装
vitualenvwrapper
安装命令:pip install vitualenvwrapper-win
- virtualenvwrapper默认将所有的虚拟环境放在~/.virtualenvs目录下管理,可以修改环境变量WORKON_HOME来指定虚拟环境 的保存目录 export WORKON_HOME=目录
- 创建python2.7虚拟环境
mkvirtualenv py27(自定义名字) --python=D:\tools\Python27\python.exe
创建python3.6(默认版本)虚拟环境mkvirtualenv py36(自定义名字)
删除环境 rmvirtualenv py35
激活/切换虚拟环境 workon py35
退出当前虚拟环境deactivate
列出所有环境workon 或者 lsvirtualenv -b env
虚拟环境管理在pyenv下
网友评论