一、virtualenv配置python虚拟环境
virtualenv 是一个创建隔绝的Python环境的 工具。virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包。
virtualenv是如何创建“独立”的Python运行环境的呢?
原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令source
venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。virtualenv为应用提供了隔离的Python运行环境,解决了不同应用间多版本的冲突问题。
通过pip安装virtualenv:
pip install virtualenv
virtualenv --version
使用过程:
1、创建虚拟环境:
[root@localhost ~]# mkdir test
[root@localhost ~]# cd test/
[root@localhost test]# virtualenv project
New python executable in /root/test/project/bin/python
Installing setuptools, pip, wheel...
done.
#查看当前默认的版本
[root@localhost test]# python -V
virtualenv project 将会在当前的目录中创建一个文件夹,包含了Python可执行文件, 以及 pip 库的一份拷贝,这样就能安装其他包了。虚拟环境的名字(此例中是 project ) 可以是任意的;若省略名字将会把文件均放在当前目录。
2、指定python版本(可不指定,则使用默认版本)
在任何您运行命令的目录中,这会创建Python的拷贝,并将之放在叫做 project 的文件中。您可以选择使用一个Python解释器(比如python2.7
,前提是系统里面已安装此版本):
virtualenv -p /usr/bin/python2.7 project
或者使用~/.bashrc
的一个环境变量将解释器改为全局性的:
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7
3、激活虚拟环境:
[root@localhost test]# source project/bin/activate
当前虚拟环境的名字会显示在提示符左侧(比如说 (my_project)您的电脑:您的工程 用户名$) 以让您知道它是激活的。从现在起,任何您使用pip安装的包将会放在 project 文件夹中, 与全局安装的Python隔绝开。
像平常一样安装包,比如:
(project) [root@localhost test]# pip install requests
4、关闭虚拟环境:
(project) [root@localhost test]# deactivate
这将会回到系统默认的Python解释器,包括已安装的库也会回到默认的。
4、要删除一个虚拟环境,只需删除它的文件夹即可。
(要这么做请执行 rm -rf project )
然后一段时间后,您可能会有很多个虚拟环境散落在系统各处,您将有可能忘记它们的名字或者位置。
5、相关说明
运行带 --no-site-packages 选项的 virtualenv 将不会包括全局安装的包。 这可用于保持包列表干净,以防以后需要访问它。(这在 virtualenv 1.7及之后是默认行为)
为了保持环境的一致性,在进入虚拟环境内部后可以“冷冻住(freeze)”环境包当前的状态,请运行:
(project) [root@localhost test]# pip freeze > requirements.txt
将会创建一个 requirements.txt 文件,其中包含了当前环境中所有包及 各自的版本的简单列表。您可以使用 “pip list”在不产生requirements文件的情况下, 查看已安装包的列表。这将会使其他开发者(或者自己重新创建这样的环境) 在以后安装相同版本的相同包变得容易。
(project) [root@localhost test]# pip install -r requirements.txt
二、 使用virtualenvwrapper
上述 virtualenv 的操作其实已经够简单了,但对于开发者来说还是不够简便,所以便有了 virtualenvwrapper。这是 virtualenv 的扩展工具,提供了一系列命令行命令,可以方便地创建、删除、复制、切换不同的虚拟环境。同时,使用该扩展后,所有虚拟环境都会被放置在同一个目录下。
1、安装virtualenvwrapper
[root@localhost ~]# pip install virtualenvwrapper
2、设置环境变量
把下面两行添加到~/.bashrc
(或者~/.zshrc
)里。
if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
fi
其中,.virtualenvs
是可以自定义的虚拟环境管理目录。
然后执行:source ~/.bashrc
,就可以使用 virtualenvwrapper 了。
Windows 安装(确保 virtualenv 已经安装了):
pip install virtualenvwrapper-win
在Windows中,WORKON_HOME默认的路径是 %USERPROFILE%Envs
3、使用方法
创建虚拟环境:
mkvirtualenv venv
注意:mkvirtualenv 也可以使用 virtualenv 的参数,比如 –python 来指定 Python 版本。创建虚拟环境后,会自动切换到此虚拟环境里。虚拟环境目录都在 WORKON_HOME 里。
其他命令如下:
lsvirtualenv -b # 列出虚拟环境
workon [虚拟环境名称] # 切换虚拟环境
lssitepackages # 查看环境里安装了哪些包
cdvirtualenv [子目录名] # 进入当前环境的目录
cpvirtualenv [source] [dest] # 复制虚拟环境
deactivate # 退出虚拟环境
rmvirtualenv [虚拟环境名称] # 删除虚拟环境