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会修改相关环境变量,让命令python
和pip
均指向当前的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 virtualenvwrapper
pip 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:一次性解决开发环境问题的主要内容,如果未能解决你的问题,请参考以下文章