virtualenv 是一个创建隔绝的Python环境的 Python 包。当我们遇到几个项目依赖不同版本的包的时候,如:项目A需要 Django 1.10 版本,项目B需要 Django 1.11 版本,这时就可以使用 virtualenv 来解决这个问题。
Virtualenv
安装virtualenv
pip install virtualenv
使用方法
mkdir your_project_folder
cd your_project_folder
virtualenv env # env是你的虚拟环境名称
此时会建立一个带有系统 Python 环境中所有第三方包的 Python 运行环境,若不想带有这些第三方包,命令中加上--no-site-packages
这个参数,就可以得到一个不带有任何第三包的“纯净”的 Python 运行环境。
virtualenv --no-site-packages [虚拟环境名]
并且,在创建虚拟 Python 运行环境时,还可以通过-p
参数指定 Python 解释器:
virtualenv -p /usr/bin/python3 [虚拟环境名]
激活虚拟环境
source env/bin/activate
运行此命令后,会发现命令提示符前多了一个(env)
的前缀,这表明当前环境是一个名为 env 的 Python 运行环境。
退出虚拟环境
deactivate
若不想要该虚拟运行环境了,直接使用rm -rf [虚拟环境名]
命令删除即可(简单粗暴)。
Virtualenvwrapper
virtualenvwrapper 是 virtualenv 的扩展管理包,virtualenvwrapper提供了一系列命令让虚拟环境在使用时变得愉快许多,它把您所有的虚拟环境都放在一个地方。
安装
pip install virtualenvwrapper
安装完成后,还需要运行 virtualenvwrapper.sh 文件才使用 virtualenvwrapper,该文件通常情况下是在/usr/local/bin/
目录下,但有时发生意外情况就需要查找该文件了:
find / -name virtualenvwrapper.sh
该文件中写有安装步骤,按照步骤把环境设置好即可。
# Setup:
#
# 1. Create a directory to hold the virtual environments.
# (mkdir $HOME/.virtualenvs).
# 2. Add a line like "export WORKON_HOME=$HOME/.virtualenvs"
# to your .bashrc.
# 3. Add a line like "source /path/to/this/file/virtualenvwrapper.sh"
# to your .bashrc.
# 4. Run: source ~/.bashrc
# 5. Run: workon
# 6. A list of environments, empty, is printed.
# 7. Run: mkvirtualenv temp
# 8. Run: workon
# 9. This time, the "temp" environment is included.
# 10. Run: workon temp
# 11. The virtual environment is activated.
首先是创建一个目录来存放未来创建的所有虚拟环境:
mkdir $HOME/.virtualenvs # 目录名随意,这里用的是.virtualenvs
在.bashrc
(bash) 或者.zshrc
(zsh),根据使用的shell来定,添加:
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 # 设置虚拟环境默认Python解释器版本,可省略
source /path/to/this/file/virtualenvwrapper.sh
激活 shell 配置文件:
source .bashrc 或者 source .zshrc
使用
查看虚拟环境列表
workon 或者 lsvirtualenv
创建虚拟环境
mkvirtualenv [虚拟环境名]
启动/切换虚拟环境
workon [虚拟环境名]
删除虚拟环境
rmvirtualenv [虚拟环境名]
退出虚拟环境
deactivate