使用virtualenvwrapper进行python开发
使用virtualenvwrapper进行python开发
为什么要使用virtualenvwrapper
- Python的虚拟环境可以使一个Python程序拥有独立的库library和解释器interpreter,而不用与其他Python程序共享统一个library和interpreter。虚拟环境的好处是避免了不同Python程序间的互相影响(共同使用global library 和 interpreter),例如程序A需要某个库的1.0版本,而程序B需要同样这个库的2.0版本,如果程序B执行则A就不能执行了。
安装和配置
在ubuntu中同时安装了python2.7和python3.5两个版本,virtualenvwrapper可以方便地实现不同版本间的切换。
virtualenvwrapper的安装配置
- 查看Ubuntu系统已安装的python版本及当前使用的python版本
ls /usr/bin/python*
python --version
- 使用pip安装virtualenvwrapper
sudo pip install virtualenvwrapper
- 配置virtualenvwrapper
mkdir $HOME/.virtualenvs
sudo vim ~/.bashrc
- 在打开的.bashrc文件中添加如下2行:
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
- 更新用户shell环境配置文件
source ~/.bashrc
至此,virtualenvwrapper安装配置完成。
使用virtualenvwrapper切换python2和python3
- 分别创建python2和python3的虚拟环境
mkvirtualenv -p /usr/bin/python2.7 python27_env
mkvirtualenv -p /usr/bin/python3.5 python35_env
如果提示mkvirtualenv权限问题,请检查$HOME/.virtualenvs文件所属的用户和组。
- python2和python3之间的切换
- 使用python2
workon python27_env
- 退出python2
source deactivate
- 使用python3
workon python35_env
- 退出python3
source deactivate
可方便实现python2和python3之间的切换。
- 进入虚拟环境时同时切换到工作目录。虚拟环境工作目录python27_env,python35_env默认在用户家目录.virtualenvs下,可设置为其它目录。
- 进入python27_env虚拟环境
workon python27_env
sudo vim $VIRTUAL_ENV/bin/postactivate
- 在打开的文件添加如下一行
cd /worksapce/py27_dev
即可将python27_env环境的工作目录设置为~/worksapce/py27_dev。
- 删除虚拟环境
rmvirtualenv python27_env
常用操作汇总
安装virtualenv:
pip install virtualenv
创建虚拟环境
virtualenv venv
venv是新创建的虚拟环境的名称。 同时会创建一个与虚拟环境名称相同的文件夹venv, 里面存储了一个独立的Python执行环境。
进入虚拟环境
source venv/bin/activate
进入虚拟环境后,命令行的提示符会加入虚拟环境的名称,例如:(venv)user@machine:~$
退出虚拟环境$
deactivate
删除虚拟环境
rm -r venv
直接删除虚拟环境所在的文件夹venv就删除了我们创建的venv虚拟环境。