详解Mac配置虚拟环境Virtualenv,安装Python科学计算包

最近正在自学Python做科学计算,当然在很多书籍和公开课里最先做的就是安装Numpy, Scipy, Matplotlib等包,不过每次安装单独的包时,都会有各种问题导致安装失败或者调用失败

比如, 遇到 Exception 和 Error:

明明已经提示 Sklearn 安装成功,但是在调用时却显示: ImportError: No module named sklearn

还有用 Numpy 的时候: ValueError: numpy.dtype has the wrong size, try recompiling

看到大家说用虚拟环境比较好,我就也自己安了一个,果然在 virtualenv 上安装各种包都很顺利,用起来也非常顺畅,没再出现什么问题。

virtualenv 可以用来建立一个专属于项目的python环境,保持一个干净的环境。只需要通过命令创建一个虚拟环境,不用的时候通过命令退出,删除。

下面介绍一下安装方法:

  • 安装 virtualenv
  • 安装 virtualenvwrapper
  • 安装 Numpy,Scipy,Matplotlib 等

安装 virtualenv

$ sudo pip install virtualenv

然后建立一个测试目录:

$ mkdir testvirtual
$ cd testvirtual

就可以成功创建一个虚拟环境 env1:

$ virtualenv env1

安装 virtualenvwrapper

Virtaulenvwrapper是virtualenv的扩展包,可以更方便地新增,删除,复制,切换虚拟环境。

运行下面命令就安装成功了,默认安装在 /usr/local/bin下面:

$ sudo easy_install virtualenvwrapper 

接下来创建一个文件夹,用来存放所有的虚拟环境:

$ mkdir ~/workspaces
$ cd ~/workspaces

但是在使用virtualenvwrapper之前,要运行virtualenvwrapper.sh文件,需要设置环境变量,也就是把下面两行代码写进 ~/.bashrc里,但是我的电脑里并没有~/.bashrc,查了一下解决办法,比如自己创建个bashrc写进去两行代码,也不管用。

export WORKON_HOME=~/workspaces source /usr/bin/virtualenvwrapper.sh

最后的办法就是,直接在命令行写,成功了:

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

接下来,创建一个或者多个虚拟环境 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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JackieZheng

Spring Boot系列——日志配置

日志,通常不会在需求阶段作为一个功能单独提出来,也不会在产品方案中看到它的细节。但是,这丝毫不影响它在任何一个系统中的重要的地位。

36620
来自专栏运维技术迷

连仕彤博客pyenv环境部署

pyenv是一款Python多版本管理工具,它可以很好的管理Python解释器、Python版本和Python虚拟环境,对于日常开发中,是一款很有必要安装的利器...

35550
来自专栏冷冷

SpringMVC 文件下载时 浏览器不能正确显示另存的文件名

问题:通过打印输出流的方式把文件下载到本地,但是在firebox 中 下载的文件不显示文件的文件名,造成文件不能直接打开,其他浏览器可以直接打开. 原因: 主要...

22650
来自专栏向治洪

将Gradle项目发布到Jcenter和Maven Central

Jcenter和Maven Central 为了方便我们理解Android studio是如何帮助我们获取开源库的,我们需要理清几个概念。Apache Mave...

39750
来自专栏WindCoder

springBoot+gradle构建多模块项目

提示:若先配置settings文件无法触发自动构建,请先执行下一步“修改根目录 build.gradle”,之后保存就会自动执行。

2.1K20
来自专栏玩转JavaEE

Spring Cloud中Hystrix仪表盘与Turbine集群监控

Hystrix仪表盘,就像汽车的仪表盘实时显示汽车的各项数据一样,Hystrix仪表盘主要用来监控Hystrix的实时运行状态,通过它我们可以看到Hystrix...

44440
来自专栏散尽浮华

Gitblit版本服务器环境部署记录

Gitblit介绍 Gitblit 是一个纯 Java 库用来管理、查看和处理 Git 资料库.相当于 Git 的 Java 管理工具,支持linux系统。 G...

39650
来自专栏灯塔大数据

15 个 Android 通用流行框架大全

? 1 缓存 名称描述DiskLruCacheJava实现基于LRU的磁盘缓存 2 图片加载 名称描述Android Universal Image Lo...

33160
来自专栏java一日一条

15 个 Android 通用流行框架大全

Android自带很多测试工具:JUnit,Monkeyrunner,UiAutomator,Espresso等

12120
来自专栏向治洪

使用Jenkins搭建Android自动打包环境

概述 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:持续的软件版本发布/测试项目;监控外部调用执行的工作。 对于我们...

453100

扫码关注云+社区

领取腾讯云代金券