Python神器virtualenv:一次性解决开发环境问题

Posted 代码力量

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python神器virtualenv:一次性解决开发环境问题相关的知识,希望对你有一定的参考价值。


众所周知,Python有三大神器,分别是pip、virtualenv和fabric,今天我们就来介绍一下virtualenv的使用。virtualenv是Python提供的一个环境管理工具,可以为你建立隔离的Python运行环境,比如系统默认Python版本为Python2,而你需要在当前项目中使用Python3,就需要用到它。好的,现在我们开始进入正题,介绍一下博主日常使用virtualenv的方法。

一 、原理

virtualenv是如何创建“独立”的Python运行环境的呢?原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令pythonpip均指向当前的virtualenv环境。

二、 安装方法

一般使用pip来安装:

pip install virtualenv

可能面临网络隔离环境的大兄弟们可以在pypi下载安装包安装。

三、 使用方法

1. 进入项目路径下

2. 创建独立的Python运行环境

virtualenv --no-site-packages venv #创建纯净的python环境,并命名为venv,python版本为系统环境默认Python版本virtaulenv -p python3 venv #创建指定Python3版本的环境,并命名

虚拟环境创建后,会生成三个目录,分别是bin、include、lib。其中,bin 目录中包含一些在这个虚拟环境中可用的命令,以及开启虚拟环境的脚本 activate;include 中包含虚拟环境中的头文件,包括 Python 的头文件;lib 中就是一些依赖库。

3. 激活环境

source venv/bin/activate

4. 退出环境

deactivate

5. 删除环境

删除环境只需要删除创建的虚拟环境venv文件夹即可,或者删除路劲下的bin、include和lib三个子目录。

四 、改进–virtualenvwrapper

virtualenv 的一个最大的缺点就是,每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。

一种可行的解决方案是,将所有的虚拟环境目录全都集中起来,比如放到 ~/virtualenvs/,并对不同的虚拟环境使用不同的目录来管理。virtualenvwrapper 正是这样做的。并且,它还省去了每次开启虚拟环境时候的 source 操作,使得虚拟环境更加好用。

1. 安装

pip install virtualenvwrapperpip install virtualenvwrapper --ignore-installed six # Mac OS X El Capitan

2. 使用方法

首先,需要对 virtualenvwrapper 进行配置。它需要指定一个环境变量,叫做 WORKON_HOME,并且需要运行一下它的初始化工具 virtualenvwrapper.sh,这个脚本在 /usr/local/bin/ 目录下。WORKON_HOME 就是它将要用来存放各种虚拟环境目录的目录,这里我们可以设置为 ~/.virtualenvs。

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

由于每次都需要执行这两部操作,我们可以将其写入终端的配置文件中。例如,如果使用 bash,则添加到 ~/.bashrc 中;如果使用 zsh,则添加到 ~/.zshrc 中。这样每次启动终端的时候都会自动运行,终端其中之后 virtualenvwrapper 就可以用啦

mkvirtualenv spider #创建一个虚拟环境,并命名为spider。新建虚拟环境之后会自动激活虚拟环境workon spider #进入虚拟环境,环境变量中存放虚拟环境的目录叫做 WORKON_HOME原因是workon 后面可是可以支持用 tab 自动补全deactivate #退出虚拟环境rmvirtualenv spider #删除虚拟环境

OK,对virtualenv和virtualenvwrapper的介绍就到这里,大家自行选用。全文完。


欢迎转载,转载请注明出处。

点击“阅读原文”,查看更多精彩!

北凉柿子的博客:http://www.beiliangshizi.com/


以上是关于Python神器virtualenv:一次性解决开发环境问题的主要内容,如果未能解决你的问题,请参考以下文章

python三大神器之virtualenv

知识分享 Python三大神器之Virtualenv

python三大神器之virtualenv

virtualenv -- python虚拟沙盒(linux版本)

Python环境隔离神器-Pyenv

Python Virtualenv