virtualenv是什么
Virtualenv
是一个工具,它能够帮我们创建一个独立 (隔离) 的 Python 环境。想象你有一个应用程序,依赖于版本为 2 的第三方模块,但另一个程序依赖的版本是 3,请问你如何使用和开发这些应用程序?
如果你把一切都安装到了 /usr/lib/python2.7/site-packages
(或者其它平台的标准位置),那很容易出现某个模块被升级而你却不知道的情况。
在另一种情况下,想象你有一个已经开发完成的程序,但是你不想更新它所依赖的第三方模块版本;但你已经开始另一个程序,需要这些第三方模块的版本。
解决方式
使用 virtualenv
!针对每个程序创建独立(隔离)的 Python 环境,而不是在全局安装所依赖的模块。
安装virtualenv(须在联网环境下)
$ sudo pip install virtualenv
$ sudo pip install virtualenvwrapper
$ sudo pip install virtualenvwrapper-win #Windows使用该命令
$ virtualenv --version # 查看是否安装virtualenv
virtualenvwrapper
提供了一系列命令使得和虚拟环境工作变得便利。它把你所有的虚拟环境都放在一个地方。
配置环境变量
# 1、创建目录用来存放虚拟环境
mkdir $HOME/.virtualenvs
# 2、打开~/.bashrc文件,并添加如下:
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
# 3、运行
source ~/.bashrc
创建virtualenv(ubuntu里须在联网状态下)
$ mkvirtualenv myproject
在创建 virtualenv
时,你必须做出决定:这个 virtualenv
是使用系统全局的模块呢?还是只使用这个 virtualenv
内的模块。默认情况下,virtualenv
不会使用系统全局模块。
如果想让你的virtualenv
使用系统全局模块,请使用–system-site-packages
参数创建你的virtualenv
,如:
$ mkvirtualenv −−system−site−packages mycoolproject
进入、退出、删除虚拟环境
$ workon Flask_py #进入
$ deactivate Flask_py #退出
$ rmvirtualenv venv #删除
良鼠推荐:
你可以使用 smartcd 来帮助你管理你的环境,当你切换目录时,它可以帮助你激活(activate)和 退出(deactivate)你的 virtualenv。你可以在 github()上找到更多关于它的资料。 (https://github.com/cxreg/smartcd)
这只是一个 virtualenv 的简短介绍,你可以在 找到更多信息。 (http://docs.python-guide.org/en/latest/dev/virtualenvs/)
网友评论