安装在Ubuntu上的Python虚拟环境
安装指南是在 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
下面是一些基本操作命令
- 列出虚拟环境:
$ lsvirtualenv -b
env1
env2
- 切换虚拟环境:
$ workon env1
- 查看环境里安装了哪些包:
$ lssitepackages
- 进入当前环境:
$ cdvirtualenv
- 进入当前环境的site-packages:
$ cdsitepackages
$ cdsitepackages pip
- 复制虚拟环境:
$ cpvirtualenv env1 env3
Copying env1 as env3...
- 退出虚拟环境:
$ deactivate
- 删除虚拟环境:
$ rmvirtualenv env2
Removing env2...
安装 Numpy,Scipy,Matplotlib 等
接下来安装Python的各种包,就比较顺畅了,比如安在env1上:
$ workon env1
安装numpypip 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虚拟环境的更多相关文章
- ubuntu系统下Python虚拟环境的安装和使用
ubuntu系统下Python虚拟环境的安装和使用 前言:进行python项目开发的时候,由于不同的项目需要使用不同的资源包和相关的配置,因此创建多个python虚拟环境,在虚拟环境下开 ...
- anaconda 环境新建/删除/拷贝 jupyter notebook上使用python虚拟环境 TensorFlow
naconda修改国内镜像源 国外网络有时太慢,可以通过配置把下载源改为国内的通过 conda config 命令生成配置文件,这里使用清华的镜像: https://mirrors.tuna.tsin ...
- ubuntu上跑python连接pg,报错 ImportError: No module named psycopg2
ubuntu上跑python连接pg,报错 ImportError: No module named psycopg2 root@pgproxy1:~# python /home/zxw/PGWri ...
- ubuntu环境下python虚拟环境的安装
一. 虚拟环境搭建 在开发中安装模块的方法: pip install 模块名称 之前我们安装模块都是直接在物理环境下安装,这种安装方法,后面一次安装的会覆盖掉前面一次安装的.那如果一台机器上面开发多个 ...
- 在Mac上搭建Python虚拟环境
安装 virtualenv $ sudo pip install virtualenv 然后建立一个测试目录: $ mkdir testvirtual $ cd testvirtual 就可以成功创建 ...
- Ubuntu上的Python
在Ubuntu如何查看Python版本 2版本命令:Python -V (注意是大写) 3版本命令:Python3 -V Ubutun16上默认安装Python 2.7, Python3 将Pyth ...
- Ubuntu中配置Python虚拟环境Virtualenv
Ubuntu版本为18.04 Virtualenv介绍 在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4.所有第三方的包都会被pip安装到Python3的site-pac ...
- pycharm上的python虚拟环境移到离线机器上
Pycharm的Terminal 中执行: 查看现有的包到requirements.txt中 pip freeze > requirements.txt 生成依赖包 D:\machangwei\ ...
- 【转】使用virtualenv在ubuntu上搭建python 3开发环境
ubuntu 13.04默认的python版本是2.7的,想在其上做python3的开发会遇到问题.比如要使用pip安装软件包时,默认安装的就是python2的包.如果想安装python3的包,就需要 ...
随机推荐
- BZOJ3745 COCI2015Norma(分治)
完全想不到地,考虑分治. 对区间[l,r],将左端点x由mid不断左移,右边记录最右的p满足max[mid+1,p]<=max[x,mid],q满足min[mid+1,q]>=min[x, ...
- Zookeeper(二) zookeeper集群搭建 与使用
一.zookeeper集群搭建 鉴于 zookeeper 本身的特点,服务器集群的节点数推荐设置为奇数台.我这里我规划为三台, 为别为 hadoop01,hadoop02,hadoop03 1. ...
- 温习classList api
有道题是一个removeClass的功能,代码里是正则分隔了传入的name,根据name的个数,循环移除掉,让寻找bug..看了了这几行代码,首先想到的是我会如何去优化. 如果看代码一两分钟就能找到公 ...
- python基础----__slots__方法、__call__方法
''' 1.__slots__是什么:是一个类变量,变量值可以是列表,元祖,或者可迭代对象,也可以是一个字符串(意味着所有实例只有一个数据属性) 2.引子:使用点来访问属性本质就是在访问类或者对象的_ ...
- (转)C#中“EQUALS”与“==”的速度比较
结论: true判断时,用"value" == string是最快的:false判断时,用"value".Equals(string)是最快的. 也就是说:一个 ...
- Codeforces Round #408 (Div. 2) A B C 模拟 模拟 set
A. Buying A House time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- 分布式监控系统开发【day37】:监控数据如何优化(六)
一.数据如何存储方案讨论 1.一个服务存所有主机 2.一台主机的所有服务 3.所有的服务一分钟存一次? 数据量大,浏览器会卡住, 4.最终方案如下 二.解决方案存在问题 1.只能存7天如何处理? 超过 ...
- 应用maven自动部署的脚本
@(编程) 最近写了一个自动部署的脚本,可以一键部署到测试服务器或者生产服务器上,包括一个函数脚本和一个调用脚本,比较简单,记录如下. 特点如下: 部署前自动备份 可以部署tomcat项目和java项 ...
- JVM调优总结(3):垃圾回收面临的问题
如何区分垃圾 上面说到的“引用计数”法,通过统计控制生成对象和删除对象时的引用数来判断.垃圾回收程序收集计数为0的对象即可.但是这种方法无法解决循环引用.所以,后来实现的垃圾判断算法中,都是从程序运行 ...
- MappedByteBuffer以及ByteBufer的底层原理
最近在用java中的ByteBuffer,一直不明所以,尤其是对MappedByteBuffer使用的内存映射这个概念云里雾里. 于是首先补了物理内存.虚拟内存.页面文件.交换区的只是:小科普——物理 ...