使用 Virtualenv 搭建 Python 虚拟环境

发布时间: 更新时间: 总字数:884 阅读时间:2m 作者: IP上海 分享 网址

Python virtualenv 用于创建独立的,互不影响 Python 运行环境,优点如下:

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

安装

Python3

sudo apt install python3 python3-pip
sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper

使用

创建 python3 env

python3 -m venv ~/.virtualenvs/pecan-env

Python2

Linux 安装

  • Linux 安装pip
# python2
sudo apt-get install python-pip
  • 安装virtualenv
# python2
sudo pip install virtualenv
sudo pip install virtualenvwrapper

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...

Mac 安装

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

sudo pip install virtualenv
sudo pip install virtualenvwrapper

卸载命令是pip uninstall virtualenv

配置环境变量

编辑:cat ~/.bashrc

export WORKON_HOME=$HOME/.virtualenvs
# export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

加载

source ~/.bashrc

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

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 下报错

  1. 错误信息:
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
  1. brew更新完python后无法找到虚拟环境
dyld: Library not loaded: @executable_path/../.Python
  Referenced from: /Users/xiexianbin/.virtualenvs/paas/bin/python
  Reason: image not found
[1]    13689 abort      python

修复步骤:重新创建env即可

参考

  1. 原版文档
  2. 中文版文档
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数