写在前面:

安装指南是在 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. Chrome Service Model

    Chrome Service Model John Abd-El-Malek February 2016 Objective Move Chrome codebase towards a servic ...

  2. JAVA程序类加载及其反射机制

    [IT168 技术]当调用java命令运行某个Java程序时,该命令将启动一条Java虚拟机进程,同一个JVM的所有线程,所有变量都处于同一进程里,它们都是用该JVM进程的内存区. 程序运行到最后正常 ...

  3. NodeJS学习笔记 (11)网络UDP-dgram(ok)

    模块概览 dgram模块是对UDP socket的一层封装,相对net模块简单很多,下面看例子. UPD客户端 vs UDP服务端 首先,启动UDP server,监听来自端口33333的请求. se ...

  4. [NOIP2012提高组]国王游戏

    题目:洛谷P1080.Vijos P1779.codevs1198. 题目大意:国王和每个大臣左.右手各写了一个数.规定每个大臣得到的金币数为他前面所有人左手的数字的乘积除以他自己右手的数(向下取整) ...

  5. Unity 框架(一)

    当项目需求中,后期可能接入多种输入设备的时候,可以借鉴一下以下代码 using System.Collections; using System.Collections.Generic; using ...

  6. 【转】 HTML解析:基于XPath的C#类库HtmlAgiliytyPack

    [转] HTML解析:基于XPath的C#类库HtmlAgiliytyPack 最近处于毕业设计开始阶段,前期工作需要去国外的一些专业数据库网站比对一些所需TF家族信息,为了快捷方便,想到用程序去帮助 ...

  7. OpenGL 获取当前屏幕坐标对应的三维坐标

    转自原文 OpenGL 获取当前屏幕坐标对应的三维坐标,使用很简单glu库中的一个函数 #include <GL/glut.h> #include <stdlib.h> #in ...

  8. 《SAS编程与数据挖掘商业案例》学习笔记之十八

    接着曾经的<SAS编程与数据挖掘商业案例>,之前全是sas的基础知识,如今開始进入数据挖掘方面笔记,本文主要介绍数据挖掘基本流程以及应用方向,并以logistic回归为例说明. 一:数据挖 ...

  9. LeetCode_Construct Binary Tree from Inorder and Postorder Traversal

    一.题目 Construct Binary Tree from Inorder and Postorder Traversal My Submissions Given inorder and pos ...

  10. BZOJ5029: 贴小广告 & BZOJ5168: [HAOI2014]贴海报

    [传送门:BZOJ5029&BZOJ5168] 简要题意: 给出m段区间l[i],r[i],表示l[i]到r[i]的数全部变成i,求出最后有多少种不同的数 题解: 线段树+离散化 这是一道经典 ...