安装指南是在 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

接下来,创建一个或者多个虚拟环境 env1,env2:

$ mkvirtualenv env1

成功后,当前路径前面就会有 (env1)

$ mkvirtualenv env2

下面是一些基本操作命令

  1. 列出虚拟环境:
$ lsvirtualenv -b
env1
env2
  1. 切换虚拟环境:
$ workon env1
  1. 查看环境里安装了哪些包:
$ lssitepackages
  1. 进入当前环境:
$ cdvirtualenv
  1. 进入当前环境的site-packages:
$ cdsitepackages
$ cdsitepackages pip
  1. 复制虚拟环境:
$ cpvirtualenv env1 env3
Copying env1 as env3...
  1. 退出虚拟环境:
$ deactivate
  1. 删除虚拟环境:
$ rmvirtualenv env2
Removing env2...

安装 Numpy,Scipy,Matplotlib 等

接下来安装Python的各种包,就比较顺畅了,比如安在env1上:

$ workon env1

安装numpy
pip install numpy

安装scipy
$ pip install scipy

安装matplotlib
$ pip install matplotlib

安装ipython
$ pip install ipython[all]

安装pandas
$ pip install pandas

安装Statsmodel
$ pip install statsmodel

安装scikit-learn
$ pip install scikit-learn

按照顺序全部安装成功,后续就可以在虚拟环境上做分析了。


以后每次进入虚拟环境就执行如下代码即可,
不过因为我的环境变量没有写进bashrc里,所以都要多执行两行:

$ cd ~/workspaces
$ export WORKON_HOME=~/workspaces
$ source /usr/local/bin/virtualenvwrapper.sh
$ workon env1

退出虚拟环境就用

$ deactivate
 

转自:https://www.linuxidc.com/Linux/2017-04/142752.htm

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

  1. ubuntu系统下Python虚拟环境的安装和使用

    ubuntu系统下Python虚拟环境的安装和使用        前言:进行python项目开发的时候,由于不同的项目需要使用不同的资源包和相关的配置,因此创建多个python虚拟环境,在虚拟环境下开 ...

  2. anaconda 环境新建/删除/拷贝 jupyter notebook上使用python虚拟环境 TensorFlow

    naconda修改国内镜像源 国外网络有时太慢,可以通过配置把下载源改为国内的通过 conda config 命令生成配置文件,这里使用清华的镜像: https://mirrors.tuna.tsin ...

  3. ubuntu上跑python连接pg,报错 ImportError: No module named psycopg2

    ubuntu上跑python连接pg,报错  ImportError: No module named psycopg2 root@pgproxy1:~# python /home/zxw/PGWri ...

  4. ubuntu环境下python虚拟环境的安装

    一. 虚拟环境搭建 在开发中安装模块的方法: pip install 模块名称 之前我们安装模块都是直接在物理环境下安装,这种安装方法,后面一次安装的会覆盖掉前面一次安装的.那如果一台机器上面开发多个 ...

  5. 在Mac上搭建Python虚拟环境

    安装 virtualenv $ sudo pip install virtualenv 然后建立一个测试目录: $ mkdir testvirtual $ cd testvirtual 就可以成功创建 ...

  6. Ubuntu上的Python

    在Ubuntu如何查看Python版本 2版本命令:Python -V  (注意是大写) 3版本命令:Python3 -V Ubutun16上默认安装Python 2.7, Python3 将Pyth ...

  7. Ubuntu中配置Python虚拟环境Virtualenv

    Ubuntu版本为18.04 Virtualenv介绍 在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4.所有第三方的包都会被pip安装到Python3的site-pac ...

  8. pycharm上的python虚拟环境移到离线机器上

    Pycharm的Terminal 中执行: 查看现有的包到requirements.txt中 pip freeze > requirements.txt 生成依赖包 D:\machangwei\ ...

  9. 【转】使用virtualenv在ubuntu上搭建python 3开发环境

    ubuntu 13.04默认的python版本是2.7的,想在其上做python3的开发会遇到问题.比如要使用pip安装软件包时,默认安装的就是python2的包.如果想安装python3的包,就需要 ...

随机推荐

  1. AngularJS中$watch

    $watch在digest执行时,如果watch观察的value与上一次执行时不一样时,就会被触发.angularjs内部的watch实现了页面随model的及时更新.$watch 方法在用的时候主要 ...

  2. Django模板语言循环字典

    1. 对于字典,可以有下列用法: {% for row in user_dict.keys %} {% for row in user_dict.values %} {% for row in use ...

  3. 【刷题】LOJ 6041 「雅礼集训 2017 Day7」事情的相似度

    题目描述 人的一生不仅要靠自我奋斗,还要考虑到历史的行程. 历史的行程可以抽象成一个 01 串,作为一个年纪比较大的人,你希望从历史的行程中获得一些姿势. 你发现在历史的不同时刻,不断的有相同的事情发 ...

  4. 【刷题】BZOJ 1453 [Wc]Dface双面棋盘

    Description Input Output Sample Input Sample Output HINT Solution 不强制在线的动态图问题,那就LCT了 类似二分图那道题目 对于四个方 ...

  5. Linux内核分析5

    周子轩 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.学习总结 通过gdb ...

  6. Java之JNI的介绍与应用20170622

    /*************************************************************************************************** ...

  7. 题解【luogu3709 大爷的字符串题】

    Description 个人觉得这是这道题最难的一步...出题人的语文... 每次给出一个区间,求这个区间最少能被多少个单调上升的序列覆盖. Solution 这个东西可以转化为这个区间中出现次数最多 ...

  8. 手脱tElock 0.98b1 -> tE!

    声明: 只为纪录自己的脱壳历程,高手勿喷 第一种:两次内存法 注: ①这是在win7x32系统上运行的脱壳,所以可能地址不同 ②修复的时候用等级三修复,最后修复不了的剪切掉然后转存合一正常运行,已测试 ...

  9. 第3章-Vue.js 指令扩展 和 todoList练习

    一.学习目标 了解Vue.js指令的实现原理 理解v-model指令的高级用法 能够使用Vue.js 指令完成 todoList 练习(重点+难点) 二.todoList练习效果展示 2.1.效果图展 ...

  10. java请求url返回json

    package cn.it.test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputS ...