创建虚拟Python环境——virtualenv

创建虚拟Python环境——virtualenv

目录

1 前言2 安装3 virtualenv的基本使用3.1 创建虚拟环境3.2 激活虚拟环境3.3 停止虚拟环境3.4 删除虚拟环境4 virtualenvwrapper4.1 安装virtualenvwrapper4.2 加载virtualenvwrapper4.3 创建虚拟环境4.4 列出所有虚拟环境4.5 激活虚拟环境4.6 进入虚拟环境目录4.7 进入虚拟环境的site-packages目录4.8 列出site-packages目录的所有软件包4.9 停止虚拟环境4.10 删除虚拟环境5 重建Python环境5.1 冻结环境5.2 重建环境6 后记7 资料

1 前言

由于Python的版本众多,还有Python2和Python3的争论,因此有些软件包或第三方库就容易出现版本不兼容的问题。

通过 virtualenv 这个工具,就可以构建一系列 虚拟的Python环境 ,然后在每个环境中安装需要的软件包(配合 pip 使用),这一系列的环境是相互隔离的。作为一个独立的环境就不容易出现版本问题,还方便部署。

Github: https://github.com/pypa/virtualenvDoc: https://virtualenv.pypa.io/en/latest/

2 安装

$ sudo pip install virtualenv
3 virtualenv的基本使用

3.1 创建虚拟环境

$ virtualenv venv

为环境指定Python解释器:

$ virtualenv -p /usr/bin/python2.7 venv
3.2 激活虚拟环境

$ source venv/bin/activate
3.3 停止虚拟环境

$ deactivate
3.4 删除虚拟环境

直接删除目录即可.

4 virtualenvwrapper

为了使用virtualenv更方便,可以借助 virtualenvwrapper

4.1 安装virtualenvwrapper

$ sudo pip install virtualenvwrapper
4.2 加载virtualenvwrapper

$ source /usr/local/bin/virtualenvwrapper.sh
4.3 创建虚拟环境

默认创建的虚拟环境位于 ~/.virtualenvs ,可以通过环境变量 $WORKON_HOME 来定制。

$ mkvirtualenv test2-env

创建后,会自动激活环境,注意看Shell提示符的改变:

(test2-env)CL-USER> test2-env$
4.4 列出所有虚拟环境

$ lsvirtualenv
4.5 激活虚拟环境

$ workon test2-env
4.6 进入虚拟环境目录

$ cdvirtualenv
4.7 进入虚拟环境的site-packages目录

$ cdsitepackages
4.8 列出site-packages目录的所有软件包

$ lssitepackages
4.9 停止虚拟环境

$ deactivate
4.10 删除虚拟环境

$ rmvirtualenv test2-env
5 重建Python环境

5.1 冻结环境

所谓 冻结(freeze) 环境,就是将当前环境的软件包等固定下来:

$ pip freeze > requirements.txt$ cat requirements.txtCherryPy==3.6.0Jinja2==2.7.3Markdoc==0.6.6Markdown==2.5.1MarkupSafe==0.23PyYAML==3.11Pygments==2.0.1WebOb==1.4argparse==1.2.1wsgiref==0.1.2
5.2 重建环境

重建(rebuild) 环境就是在部署的时候,在生产环境安装好对应版本的软件包,不要出现版本兼容等问题:

$ pip install -r requirements.txt

配合pip,可以批量安装对应版本的软件包,快速重建环境,完成部署。

6 后记

virtualenv 是一个很棒的工具,和 pip 都被称为神器,还可以进行功能定制,比如在创建环境后自动做一些其他事情,现在就不细究了。

7 资料

http://www.ibm.com/developerworks/cn/opensource/os-pythonpackaging/http://www.zhihu.com/question/19717006http://blogs.360.cn/blog/how-360-uses-python-1-virtualenv/http://docs.python-guide.org/en/latest/dev/virtualenvs/


作者简介:

朱春来(Leslie Zhu),金融工程师,毕业于西安电子科技大学, 喜欢历史,喜欢编程. 日常在GNU/Linux环境下进行C/C++、Python开发,对Common Lisp、Node.js、金融等感兴趣。可以通过邮箱(pythonisland@gmail.com)联系他,或者直接在他的个人主页上留言.

访问朱春来(Leslie Zhu)的个人主页(http://lesliezhu.github.com)

创建虚拟Python环境——virtualenv

相关文章:

你感兴趣的文章:

标签云: