MENU

【日常Py】神器Virtualenv的安装使用

November 9, 2018 • Read: 1099 • 资源分享

虽说玩了python3一会儿了,但感觉自己还是一个菜,学海无涯、回头是岸,开玩笑了;之前只是见过,这次是实践,记录一下过程。
*
友情提示:以下所有操作都是基于Win10操作,linux可能略有差别,linux有问题后面不再做解释。*

virtualenv.png

1.Virtualenv是什么?

virtualenv 是一个创建隔绝的Python环境的工具。virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包。

个人简单理解:用于在机子上创建一个虚拟Python环境,与系统原环境相互隔绝(包含PIP),一般用于多环境情况下的项目开发,避免一些无必要的麻烦。

2.安装方法

前提:必须安装pip

pip install virtualenv

3.测试安装

virtualenv --version

4.基本使用

cd my_project_dir
virtualenv venv  #venv为虚拟环境目录名,目录名自定义

virtualenv venv 将会在当前的目录中创建一个venv文件夹,包含了Python可执行文件,以及 pip 库的一份拷贝,不过已经安装到系统Python环境中的所有第三方包都不会复制过来,这样,我们就得到了一个不带任何第三方包的“干净”的Python运行环境来。虚拟环境的名字(此例中是 venv )可以是任意的。
指定Python解释器:

virtualenv -p /usr/bin/python2.7 venv    # -p参数指定Python解释器程序路径

激活虚拟环境:

source venv/bin/activate

从现在起,任何你使用pip安装的包将会放在 venv 文件夹中,与全局安装的Python隔绝开。
停用虚拟环境

. venv/bin/deactivate

这将会回到系统默认的Python解释器,包括已安装的库也会回到默认的。
删除虚拟环境
Linux:

rm -fr venv

Win:直接删除文件夹所有内容即可


5.Virtualenvwrapper

由于virtualenv不方便集中管理虚拟环境,所以virtualenvwrapper提供一系列方便管理的命令,但这个并不是必须安装。

  • 将您的所有虚拟环境在一个地方。
  • 包装用于管理虚拟环境(创建,删除,复制)。
  • 使用一个命令来环境之间进行切换。

6.Virtualenvwrapper安装

确保virtualenv已经成功安装

pip install virtualenvwrapper
pip install virtualenvwrapper-win  #Windows使用该命令

7.设置环境变量并启用

Linux:

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

第一行:virtualenvwrapper存放虚拟环境目录
第二行:virtrualenvwrapper会安装到python的bin目录下,所以该路径是python安装目录下bin/virtualenvwrapper.sh

source ~/.bashrc    #读入配置文件,立即生效

Windows10:
按WIN+R键,打开“运行”对话框,输入sysdm.cpl,按回车键打开“系统属性”;依次:高级->环境变量
1.png

系统变量->新建->确认:
变量名:WORKON_HOME
变量值:虚拟环境安装目录。

2.png
3.png

8.基本使用

创建虚拟环境

mkvirtualenv venv
mkvirtualenv --python=/usr/local/python3.5.3/bin/python venv #指定python解释器

会在WORKON_HOME变量指定的目录下新建名为venv的虚拟环境。
创建开发项目

mkproject project_env

创建一个项目,它会创建虚拟环境,并在 $WORKON_HOME 中创建一个项目目录。 当您使用 workon project_env 时,会 cd -ed 到项目目录中。
查看当前虚拟环境目录

workon

启用虚拟环境

workon venv #venv 环境名

退出虚拟环境

deactivate

删除虚拟环境

rmvirtualenv venv

其他常见命令

lsvirtualenv        #列举所有的环境。
cdvirtualenv        #导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages。
cdsitepackages      #和上面的类似,但是是直接进入到 site-packages 目录中。
lssitepackages      #显示 site-packages 目录中的内容。

virtualenvwrapper 命令的完全列表。

参考文章:

  1. https://www.cnblogs.com/technologylife/p/6635631.html
  2. https://www.cnblogs.com/freely/p/8022923.html
  3. https://blog.csdn.net/juejitianya/article/details/81839569