Python 必备工具 - virtualenv & virtualenvwrapper

Posted steveqian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 必备工具 - virtualenv & virtualenvwrapper相关的知识,希望对你有一定的参考价值。


背景

Python 作为一门成熟的编程语言,拥有无数优秀的第三方包以方便开发者能够快速地构建应用。一般来说,如果你开发了一个 Python 软件包想供其他人使用,你可以将它上传至 PyPI (Python Package Index) 上,然后其他人就可以通过 pip 或者 easy_install等命令轻松地下载和管理各种包。

但是如果在所有的项目都在一个 Python 环境下,势必会引起包冲突。因此需要一款软件能够把每个项目的Python环境分离开,每个项目有自己独立的Python版本以及依赖。

virtualenv

virtualenv 就是这样一款能够建立隔离的 Python 环境的工具。

安装

 
   
   
 
  1. $ pip install virtualenv

安装完成之后,输入 virtualenv--version 如果输入版本号,表明安装成功。

基本用法

创建环境
 
   
   
 
  1. $ cd my_project  # 进入工作目录

  2. $ virtualenv -p /usr/local/bin/python3.6 myenv  # 创建一个 python3.6,名为 myenv 的虚拟环境

执行后,当前目录下会生成一个与虚拟环境同名的文件夹,里面包含 Python 可执行文件和 pip 库。 在缺省的情况下,虚拟环境中并没有包含系统环境下的site-packages。如果想要使用系统环境下的第三方包,可以在创建环境的时候使用 --system-site-packages

 
   
   
 
  1. $ virtualenv -p /usr/local/bin/python3.6 --system-site-packages myenv

使用环境
 
   
   
 
  1. $ cd myenv # 进入虚拟环境目录

  2. $ source bin/activate # 激活该虚拟环境

运行完之后,命令行的最前面应该出现括号,里面内容是虚拟环境的名字。代表我们已经处于该环境之下。

退出环境

sh $ deactivate


virtualenvwrapper

安装

 
   
   
 
  1. $ pip install virtualenvwrapper

配置

将下面的代码添加到 .bash_profile(或者 .zshrc)

 
   
   
 
  1. # virtualenvwrapper config

  2. if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then

  3.   export WORKON_HOME=$HOME/.virtualenvs

  4.   source /usr/local/bin/virtualenvwrapper.sh

  5. fi

其中 WORKON_HOME是告诉 virtualenvwrapper 放置虚拟环境的位置。 添加完之后,执行

 
   
   
 
  1. $ source ~/.bash_profile

如果想要确认是否真的安装成功,可以执行

 
   
   
 
  1. $ mkvirtualenv --help

如果输出帮助信息,则安装成功。

基本使用

创建虚拟环境
 
   
   
 
  1. mkvirtualenv -p python3 myenv  # 创建一个python3,名为myenv的虚拟环境

注意:和 virtualenv 不同,virtualenvwrapper 是在我们刚才所说的 WORKON_HOME目录中创建的虚拟环境而非当前目录。

可以看到命令行的最前面有了括号,里面是环境的名字。也就是说创建完成之后,同时也激活了该环境。可以查看当前环境下的 Python 版本 python-V和已安装的软件包 pip list。 默认情况下,virtualenvwrapper 不会包含系统的软件包,只会安装一些基本的软件包,例如pip, setuptools等等。

查看所有的虚拟环境
 
   
   
 
  1. $ lsvirtualenv

将会列出所有的虚拟环境的名称。 当然你也可以到 ~/.virtualenvs查看所有的虚拟环境。

切换虚拟环境
 
   
   
 
  1. workon [env] # 直接切换到env

退出虚拟环境
 
   
   
 
  1. deactivate

删除虚拟环境
 
   
   
 
  1. rmvirtualenv [env]


以上是关于Python 必备工具 - virtualenv & virtualenvwrapper的主要内容,如果未能解决你的问题,请参考以下文章

python开发工具virtualenvvirtualenvwrapperpipenv和pyenv的使用

工具篇 | Python虚拟环境的搭建与管理virtualenv/virtualenv-wrapper

Python环境管理工具virtualenv的安装使用教程(图文详解)

VirtualEnv 16.0.0 发布,创建独立 Python 环境的工具

python 多环境扩展之virtualenv

Mac OS 基于 VirtualEnv 的安装 tensorflow