虚拟环境是Python解释器的一个私有副本,在这个环境中你可以安装私有包,而且不会影响系统中安装的全局Python解释器;虚拟环境可以在系统的Python解释器中避免包的混乱和版本的冲突,为每个程序单独创建虚拟环境,可以保证程序只访问虚拟环境中的包,从而保持全局解释器的整洁,仅用来作为其他虚拟环境的源。
注:本篇博客以安装 flask 虚拟环境为例
安装virtualenv
- 检查系统是否安装 virtualenv
virtualenv –version
- 版本号
- 如果显示版本号,则说明已经安装了,则跳过下面的安装步骤;如果显示错误信息,则说明没有安装,要先安装这个工具
sudo apt-get install python-virtualenv
- 新建一个目录,用于安装
sudo mkdir flask
- 创建Python虚拟环境(一般虚拟环境被命名为venv)
sudo virtualenv venv
- 这里很多眼尖的小伙伴肯定已经发现了,你的 flask 文件夹下已经多出来一个 venv 文件,没错,这个就是你的虚拟环境;大家别把这个文件删了,如果没有这个文件,你的虚拟环境就没有了,不过我发现一个很好玩的事情,这个 venv 文件可以直接复制使用,你把这个 venv 文件复制到其他文件夹下,就相当于这个文件夹也创建了虚拟环境。
- 激活这个虚拟环境
source venv/bin/activate
- 虚拟环境被激活后,其中的 Python 解释器的路径就被添加进了 path 中,但这种变化不是永久的,它只会影响当前的会话,如果你关掉了终端后,重新打开,要再次激活;为了提醒你虚拟环境已经激活,终端的命令提示符会加入环境名 “(venv)”
- 当你想从虚拟环境中退出,回到全局 Python 解释器中,下面这条命令能帮到你
deactivate
- 安装 flask
pip install flask
走到这里就已经大功告成了,感觉导入一下 flask 尝尝鲜吧!!!
注:如果在安装 flask 的时候出现类似下图的错误,很可能是没有权限
这里给出我的解决方案:
sudo chmod -R 777 /code/python/python27/flask
通过virtualenvwrapper管理虚拟环境
- 安装virtualenvwrapper
sudo pip install virtualenvwrapper
- 配置virtualenvwrapper (说明一下,这个 code 是我自己的存放路径,可自行修改)
//创建目录存放虚拟环境
mkdir code/.virtualenvs
//在~/.bashrc中添加行:
export WORKON_HOME= /code/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
// 运行:
source ~/.bashrc
- virtualenvwrapper 语法
语句 | 功能 |
lsvirtualenv | 列出虚拟环境列表 |
mkvirtualenv [name] | 创建新虚拟环境 |
workon [name] | 启动/ 切换虚拟环境 |
rmvirtualenv [name] | 删除虚拟环境 |
deactivate | 离开虚拟环境 |