首页 > python安装虚拟环境virtualenv

python安装虚拟环境virtualenv

虚拟环境

虚拟环境是一个将不同项目所需求的依赖分别放在独立的地方的一个工具,它给这些工程创建虚拟的Python环境。它解决了“项目X依赖于版本1.x,而项目Y需要项目4.x”的两难问题,而且使你的全局site-packages目录保持干净和可管理。

比如,你可以工作在一个需求Django 1.3的工程,同时维护一个需求Django 1.0的工程。

virtualenv

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

通过pip安装virtualenv:

$ pip install virtualenv

基本使用

  1. 为一个工程创建一个虚拟环境:
$ cd my_project_folder
$ virtualenv venv

virtualenv venv 将会在当前的目录中创建一个文件夹,包含了Python可执行文件,以及pip 库的一份拷贝,这样就能安装其他包了。虚拟环境的名字(此例中是 venv )可以是任意的;若省略名字将会把文件均放在当前目录。

在任何你运行命令的目录中,这会创建Python的拷贝,并将之放在叫做 venv 的文件中。

你可以选择使用一个Python解释器:

$ virtualenv -p /usr/bin/python2.7 venv

这将会使用 /usr/bin/python2.7 中的Python解释器。

  1. 要开始使用虚拟环境,其需要被激活:
$ source venv/bin/activate

当前虚拟环境的名字会显示在提示符左侧(比如说 (venv)你的电脑:你的工程 用户名$)以让你知道它是激活的。从现在起,任何你使用pip安装的包将会放在 ``venv 文件夹中,与全局安装的Python隔绝开。

像平常一样安装包,比如:

$ pip install requests
  1. 如果你在虚拟环境中暂时完成了工作,则可以停用它:
$ deactivate

这将会回到系统默认的Python解释器,包括已安装的库也会回到默认的。

要删除一个虚拟环境,只需删除它的文件夹。(要这么做请执行 rm -rf venv )

然后一段时间后,你可能会有很多个虚拟环境散落在系统各处,你将有可能忘记它们的名字或者位置。

其他注意

运行带 --no-site-packages 选项的 virtualenv 将不会包括全局安装的包。这可用于保持包列表干净,以防以后需要访问它。(这在 virtualenv 1.7及之后是默认行为)

为了保持你的环境的一致性,“冷冻住(freeze)”环境包当前的状态是个好主意。要这么做,请运行:

$ pip freeze > requirements.txt

这将会创建一个 requirements.txt 文件,其中包含了当前环境中所有包及各自的版本的简单列表。你可以使用 “pip list”在不产生requirements文件的情况下,查看已安装包的列表。这将会使另一个不同的开发者(或者是你,如果你需要重新创建这样的环境)在以后安装相同版本的相同包变得容易。

$ pip install -r requirements.txt

这能帮助确保安装、部署和开发者之间的一致性。

最后,记住在源码版本控制中排除掉虚拟环境文件夹,可在ignore的列表中加上它。

virtualenvwrapper

virtualenvwrapper 提供了一系列命令使得和虚拟环境工作变得愉快许多。它把你所有的虚拟环境都放在一个地方。

安装(确保 virtualenv 已经安装了):

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

(virtualenvwrapper 的完整安装指引.)

对于Windows,你可以使用 virtualenvwrapper-win 。

To install (make sure virtualenv is already installed): 安装(确保 virtualenv 已经安装了):

$ pip install virtualenvwrapper-win

在Windows中,WORKON_HOME默认的路径是 %USERPROFILE%Envs 。

基本使用

  1. 创建一个虚拟环境:
$ mkvirtualenv venv

这会在 ~/Envs 中创建 venv 文件夹。

  1. 在虚拟环境上工作:
$ workon venv

或者,你可以创建一个项目,它会创建虚拟环境,并在 $PROJECT_HOME 中创建一个项目目录。当你使用 workon myproject 时,会 cd -ed 到项目目录中。

$ mkproject myproject

virtualenvwrapper 提供环境名字的tab补全功能。当你有很多环境,并且很难记住它们的名字时,这就显得很有用。

workon 也能停止你当前所在的环境,所以你可以在环境之间快速的切换。

  1. 停止是一样的:
$ deactivate
  1. 删除:
$ rmvirtualenv venv






0x04 virtualenvwrapper 切换版本

 

virtualenvwrapper是管理Python虚拟环境的工具,可以很方便的为不同的项目建立独立的环境,每个项目都可以安装自己的依赖,同时也支持在不同的虚拟环境中存在不同版本的Python。

 

首先安装virtualenvwrapper,可以选择apt安装或者pip安装

 

apt安装

 
$ sudo apt-get install virtualenvwrapper
 

pip安装

 
$ sudo pip install virtualenvwrapper
 

当你需要使用Python2开发项目时,建立一个Python2的虚拟环境:

 
$ mkvirtualenv -p /usr/bin/python2 env27
 

当你需要Python3开发时:

 
$ mkvirtualenv -p /usr/bin/python3.4 env34
 

然后可以随时切换不同的虚拟环境:

 
$ workon env27  # 进入Python2环境
$ workon env34  # 进入Python3环境
 

更爽的是,你可以在进入虚拟环境的同时切换到项目目录,只需要编辑 $VIRTUAL_ENV/bin/postactivate 这个文件即可:

 
$ vim $VIRTUAL_ENV/bin/postactivate  #前提是已经进入对应的虚拟环境
 

在文件中添加切换目录的命令:

 
cd  /path/to/your/project




其他有用的命令

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

virtualenvwrapper 命令的完全列表 。

virtualenv-burrito

有了 virtualenv-burrito ,你就能使用单行命令拥有virtualenv + virtualenvwrapper的环境。

autoenv

当你 cd 进入一个包含 .env 的目录中,就会 autoenv 自动激活那个环境。

使用 brew 在Mac OS X上安装它:

$ brew install autoenv

在Linux上:

$ git clone git://github.com/kennethreitz/autoenv.git ~/.autoenv
$ echo 'source ~/.autoenv/activate.sh' >> ~/.bashrc

转载于:https://www.cnblogs.com/xiongmozhou/p/9102646.html

更多相关:

  • 第二章  配置开发环境...

  • 文章目录1. 编译前基本环境准备2. 编译 及 导入 Intellij IDEA3. Zookeeper 运行环境配置...

  • 查看环境变量 查看某一环境变量:比如我们需要查看HOME这个环境变量,我们可以在shell下直接输入echo $HOME 我们可以把所有的环境变量和环境变量的值都打印出来 打印环境变量 libc中定义的全局变量environ指向环境变量表,environ没有包含在任何头文件中,所以 在使用时 要用extern声明...

  •  step1: 安装虚拟环境: sudo pip3 install virtualenv # 安装虚拟环境sudo pip3 install virtualenvwrapper # 安装虚拟环境扩展包# 编辑家目录下的 .bashrc 文件,在最下面添加下面三行代码   export WORKON_HOME=$HOME/...

  • 学习到javascript的运行机制时,有几个概念经常出现在各种文章中且容易混淆。Execution Context(执行环境或执行上下文),Context Stack (执行栈),Variable Object(VO: 变量对象),Active Object(AO: 活动对象),LexicalEnvironment(词法环境),V...

  • 要求 基本的计算机和三维软件知识 这门课程对初学者和进阶者都有好处 我们确实经历了许多你甚至不知道存在的功能 VRay NEXT for 3Ds Max – Complete Video Guide 欢迎来到V-RAY视频手册 流派:电子学习| MP4 |视频:h264,1280×720 |音频:aac,44100 Hz语言:英...

  • 原文出处: 韩昊    1 2 3 4 5 6 7 8 9 10 作 者:韩 昊 知 乎:Heinrich 微 博:@花生油工人 知乎专栏:与时间无关的故事   谨以此文献给大连海事大学的吴楠老师,柳晓鸣老师,王新年老师以及张晶泊老师。   转载的同学请保留上面这句话,谢谢。如果还能保留文章来源就更感激不尽了。 我保证这篇文章...

  • 原文出处: 韩昊   我保证这篇文章和你以前看过的所有文章都不同,这是 2012 年还在果壳的时候写的,但是当时没有来得及写完就出国了……于是拖了两年,嗯,我是拖延症患者…… 这篇文章的核心思想就是: 要让读者在不看任何数学公式的情况下理解傅里叶分析。 傅里叶分析不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维...

  • 很多Linux高手都喜欢使用screen命令,screen命令可以使你轻松地使用一个终端控制其他终端。尽管screen本身是一个非常有用的工具,byobu作为screen的增强版本,比screen更加好用而且美观,并且提供有用的信息和快捷的热键。 想象一下这样一个场景:你通过Secure Shell(ssh)链接到一个服务器,并...

  • NarrowbandPrimary Synchronization Signal时域位置每1个SFN存在一个NPSSSFNSubframeSymbol长度每个SFN5最后11个symbol11个symbols频域位置NB-IOT下行带宽固定180kHz,一个PRB,12个子载波。...

  •  [h1]反斜杠只能够阻止一个字符  [h2]位于键盘的左上角,和~公用一个键。...