写在前面:

安装指南是在 Ubuntu 下面操作的。不同的 Linux 版本,安装指令不同。所以,该指南的某些指令对于像 CentOS 等非 Ubuntu 系统不适用。

为什么需要使用虚拟环境?

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

安装 virtualenv:

首先,需要安装 setuptools 等一些模块:

sudo apt-get install python-setuptools python-dev build-essential

然后安装 pip,接下来的virtualenv等环境可以通过 pip来安装:

sudo apt-get install python-pip

详细的 pip 安装可参考文档: http://pip-cn.readthedocs.io/en/latest/installing.html

接着,我们可以通过 pip 来安装 virtualenv:

$ sudo pip install virtualenv 

此时,我们可以为项目创建虚拟环境了:

$ virtualenv <虚拟环境名>

该命令会在当前文件创建一个虚拟环境文件夹,其包含了 Python 可执行文件及 pip 库的拷贝。可以切换进我们创建的虚拟环境目录后,通过 source bin/activate 指令来激活。此时,你终端最左边会有出现你之前通过 virtualenv 指令来创建的名称,表明你已经进入到虚拟环境来了。这时候,你可以通过 pip 来安装你需要的任何python 库。比如安装 theano, 可以通过下列指令安装:

$ pip install theano

通过 pip list 指令来查看已安装的库列表。

退出该虚拟环境的指令:

$ deactivate

删除最简单,直接 rm -rf 当前文件夹即可。

安装 virtualenvwrapper:

通过 virtualenv 安装虚拟环境,使用是比较麻烦,管理起来也很烦。建议安装 virtualenvwrapper,通过它来使得虚拟环境工作变得方便。

安装:

pip install virtualenvwrapper

默认 virtualenvwrapper 安装在 /usr/local/bin 下面

我们可以接着创建一个文件夹来存放虚拟环境,如:

$ mkdir $HOME/.virtualenvs

接着,我们需要配置下 ~/.bashrc,将 virtualenv 添加进去:

export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

让 bashrc 生效:

source ~/.bashrc

这样, virtualenvwrapper 就安装好了。我们可以通过下面的命令来安装虚拟环境:

mkvirtualenv <虚拟环境名>

这个时候,会在 WORKON_HOME 制定的目录中创建这个文件夹。我们可以通过 workon + <Tab按键> 来选择虚拟环境。其他游泳的诸如 lsvirtualenv 命令可以参考:http://pythonguidecn.readthedocs.io/zh/latest/dev/virtualenvs.html

原文网址 http://www.cnblogs.com/scharfsinnig/p/6700953.html

参考:

http://pythonguidecn.readthedocs.io/zh/latest/dev/virtualenvs.html

http://pip-cn.readthedocs.io/en/latest/installing.html

Ubuntu 下安装 Python 虚拟环境的更多相关文章

  1. Windows下安装Python虚拟环境

    Windows下安装Python虚拟环境 虚拟环境安装 需求概要 "虚拟环境"是从电脑独立开辟出来的环境.就好比我们生活中的橱柜中,会把酱油放在一个瓶子里,把醋放在另外一个瓶子里, ...

  2. Ubuntu下安装python相关数据处理

    01. Ubuntu下安装ipython sudo apt-get install ipython 02. Ubuntu下安装pip $ sudo apt-get install python-pip ...

  3. Ubuntu下安装Flask虚拟环境及使用

    一.关于Flask介绍 诞生时间:Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug工具箱编写的轻量级Web开发框架. Flask框架包含两 ...

  4. Linux下安装python虚拟环境(virtualenv,vritulaenvwrapper)

    一.virtualenv virtualenv是如何创建"独立"的Python运行环境的呢? 原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令sour ...

  5. windows下安装Python虚拟环境virtualenvwrapper-win

      1 前言 由于Python的版本众多,还有Python2和Python3的争论,因此有些软件包或第三方库就容易出现版本不兼容的问题. 通过 virtualenv 这个工具,就可以构建一系列 虚拟的 ...

  6. 【转】windows下安装Python虚拟环境virtualenvwrapper-win

    由于Python的版本众多,还有Python2和Python3的争论,因此有些软件包或第三方库就容易出现版本不兼容的问题. 通过 virtualenv 这个工具,就可以构建一系列虚拟的Python环境 ...

  7. 在 ubuntu 中安装python虚拟环境

    直接看命令一路操作(注:python3 下): 1.安装虚拟环境: sudo pip3 install virtualenv 2.安装虚拟环境扩展管理工具: sudo pip3 install vir ...

  8. ubuntu下安装python各类运维用模块(以后补充用途)

    环境:ubuntu 16.04LTS,python3,python2 已安装:pip3,pip2 注:基于Python自动化运维这本书上介绍的各模块而来 1.python-rrdtool(just f ...

  9. [转载]windows下安装Python虚拟环境virtualenvwrapper-win

    1 前言 由于Python的版本众多,还有Python2和Python3的争论,因此有些软件包或第三方库就容易出现版本不兼容的问题. 通过 virtualenv 这个工具,就可以构建一系列 虚拟的Py ...

随机推荐

  1. mybatis-generator-core快速生成实体类和Mapper

    日常使用Mybatis少不了和实体类和 Mapper 打交道.除了我们手写来实现,还可以使用 mybatis-generator-core 来快速生成 实体类和 Mapper. 步骤如下: 1.下载 ...

  2. 使用 swoole_process 实现 PHP 进程池

    swoole_process 主要是用来代替 PHP 的 pcntl 扩展.我们知道 pcntl 是用来进行多进程编程的,而 pcntl 只提供了 fork 这样原始的接口,容易使用错误,并且没有提供 ...

  3. Git 如何把master的内容更新到分支

    Background: 当有人对master进行更新之后,你想让已经创建的分支内容更新到master的最新状态, bpan@5CG7022BM2 MINGW64 /d/GitRep/JIRA_Exte ...

  4. 【UVA 437】The Tower of Babylon(记忆化搜索写法)

    [题目链接]:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...

  5. select &amp; epoll

    同步.异步.堵塞和非堵塞差别 同步:发出一个功能调用时.在没有得到结果之前,该调用就不返回 异步:当一个异步过程调用发出后.调用者不能立马得到结果.实际处理这个调用的部件在完毕后.通过状态.通知和回调 ...

  6. easyui combobox 设置值 顺序放在最后

    easyui combobox 设置值 顺序放在最后 如果设置函数.又设置选中的值,注意顺序, 设置值需要放到最后,否则会设置了之后又没有了: $('#spanId'+i).combobox(res) ...

  7. 目标跟踪--CamShift

    转载请注明出处! !! http://blog.csdn.net/zhonghuan1992 目标跟踪--CamShift CamShift全称是ContinuouslyAdaptive Mean S ...

  8. C++学习笔记31,指向引用的指针(3)

    我们来看一个简单的指向引用的指针的样例. #include <iostream> using namespace std; int main(){ int x=10; int y=20; ...

  9. Exception: Operation xx of contract xx specifies multiple request body parameters to be serialized without any wrapper elements.

    Operation 'CreateProductCodeStock' of contract 'IChileService' specifies multiple request body param ...

  10. tomcat-servlet-client

    headfirst的一个图,但解决了我的一个疑问