使用 Virtualenv 搭建 Python 虚拟环境

发布时间: 更新时间: 总字数:989 阅读时间:2m 作者: 分享

Python virtualenv 用于创建独立的,互不影响 Python 运行环境,优点如下:
1. 通过创建独立的python运行环境,隔离不同项目对同一个lib不同版本之间的依赖
2. 单个 Python 升级不影响其他应用
3. 在某些目录/机器上安装新的package但没有权限问题
本文主要介绍如何安装配置使用 python Virtualenv。

安装准备

安装Python和pip

Python的环境相信大家都会安装和配置,但当我们安装其他python lib时,我们经常要使用pip或easy_install安装,我提供一个可以同时安装python和pip的安装包,下载地址如下:http://pan.baidu.com/s/1nt7syNJ其中,python-2.7.9.amd64.msi亲测可用。

pip is a tool for installing and managing Python packages.
virtualenv is a tool to create isolated Python environments. 

Linux 安装

安装pip

sudo apt-get install python-pip

安装virtualenv

sudo pip install virtualenv

Windows 安装

按下 win + r,输入cmd打开windows的命令窗口,输入pip install virtualenv进行安装,实例如下:

C:\Users\Xianbin>pip install virtualenv
Downloading/unpacking virtualenv
Installing collected packages: virtualenv
Successfully installed virtualenv
Cleaning up...

完成安装,卸载命令是pip uninstall virtualenv

Mac 安装

安装pip参考: https://pip.readthedocs.io/en/stable/installing/

sudo pip install virtualenv

Linux 使用

创建一个隔离环境,在默认环境:

mkvirtualenv test -p python ## 创建
lsvirtualenv -b ## 列出
workon test ## 切换

在当前目录:

virtualenv test -p python
virtualenv test -p python3

说明:

  • -p 指定 python interpreter

列出所有 env

workon

激活隔离环境

source test/bin/activate

workon test

我们就可以看到在命令行的前面已经加上了(test),这个时候我们看看python所指向的路径:

which python

退出虚拟环境

deactivate

帮助文档

virtualenv --help

Linux 配置环境变量

编辑:cat ~/.bash_profile

export WORKON_HOME=~/work/pythonEnv
source /usr/local/bin/virtualenvwrapper.sh

Windows 使用

  • 创建新的工作空间

Python Virtualenv默认的文件目录是C:\Users\Xianbin\Envs,创建命令如下:

C:\Users\Xianbin\Envs>virtualenv venv
New python executable in venv\Scripts\python.exe
Installing setuptools, pip, wheel...done.

创建后将能在C:\Users\Xianbin\Envs看到venv的文件夹,该文件中就是该Python虚拟环境。

  • 切换工作空间

输入workon可以列出所有的python的虚拟环境,输入 workon <python虚拟空间名> 进入该虚拟空间。如下,其中(venv)表示当前的Python虚拟空间。

C:\Users\Xianbin\Envs>workon

Pass a name to activate one of the following virtualenvs:
==============================================================================
openstack
venv

C:\Users\Xianbin\Envs>workon venv
(venv) C:\Users\Xianbin\Envs>

或,通过输入 activate进入工作空间。如下:

C:\Users\Xianbin\Envs\venv\Scripts>activate
(venv) C:\Users\Xianbin\Envs\venv\Scripts>
  • 退出工作空间

(venv) C:\Users\Xianbin\Envs>deactivate
C:\Users\Xianbin\Envs>

卸载

卸载pip

sudo apt-get remove python-pip

卸载virtualenv

sudo pip uninstall virtualenv

问题

MaC 下报错

错误信息:

Last login: Tue Jul 30 08:50:11 on ttys002
/usr/local/opt/python@2/bin/python2.7: No module named virtualenvwrapper
virtualenvwrapper.sh: There was a problem running the initialization hooks.

If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python and that PATH is
set properly.
➜  ~

修复步骤:

pip uninstall virtualenv virtualenvwrapper
pip2.7 install virtualenv virtualenvwrapper
. /usr/local/bin/virtualenvwrapper.sh

参考

Home Archives Categories Tags Docs