安装virtualenv
在开发Python应用程序的时候,所有第三方的包都会被pip安装到Python的site-packages目录下。且只能安装一个版本,因此,如果我们要同时开发多个应用程序,这些应用程序都共用一个Python,但是不同的应用程序依赖的第三方包的版本不一样时,就会比较难处理。
这种情况下,可以通过virtualenv来为每个应用创建一套“隔离”的Python运行环境。这样各应用依赖的第三方包就可以互不影响。
首先,我们用pip安装virtualenv:
sudo pip3 install virtualenv
注意: 一定要用管理员权限安装,否则会提示找不到virtualenv。
创建虚拟环境
安装完virtualenv后,就可以通过命令行创建一个虚拟环境。例如:
virtualenv --no-site-packages .venv
通过这个命令就可以在当前目录下新建一个名为.venv的目录,这个目录下就是新创建的虚拟Python运行环境。加上参数--no-site-packages
表明不需要复制已经安装到系统Python环境中的所有第三方包。
使用虚拟环境
虚拟环境需要通过source
命令进入。
source .venv/bin/activate
执行命令后可以看到命令提示符有个(.venv)前缀,表示当前正在使用名为.venv的Python虚拟环境。
indoors31@indoors31-PC:~/Documents/Workspace/Hello$ source .venv/bin/activate
(.venv) indoors31@indoors31-PC:~/Documents/Workspace/Hello$
退出虚拟环境
通过deactivate
可以退出当前使用的虚拟环境。
(.venv) indoors31@indoors31-PC:~/Documents/Workspace/Hello$ deactivate
indoors31@indoors31-PC:~/Documents/Workspace/Hello$
安装virtualenvwrapper
使用virtualenv需要进入相对应的路径,且linux和windows下的使用有些区别,可以通过使用virtualenvwrapper来简化对虚拟环境的操作。
安装步骤:
sudo pip3 install virtualenvwrapper
-
mkdir $HOME/.virtualenvs
保存虚拟环境的目录 vim ~/.bashrc
- 添加命令如下:
export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
- 保存退出,执行
source ~/.bashrc
使用virtualenvwrapper
-
可以通过
mkvirtualenv
命令创建虚拟环境:mkvirtualenv .venv
执行后就会在刚才的 WORKON_HOME 所设置的目录下创建名为 .venv 的虚拟环境并且自动进入。
与virtualenv一样,使用
deactivate
命令退出虚拟环境。-
退出后再次进入虚拟环境不需要像virtualenv那样去寻找路径,直接可以使用
workon
命令就进入虚拟环境:workon .venv
virtualenvwrapper的其它命令
rmvirtualenv ENV
删除运行环境ENVmkproject hello
创建hello项目和运行环境hellomktmpenv
创建临时运行环境lsvirtualenv
列出可用的运行环境lssitepackages
列出当前环境安装的包