您的位置:首页 > 编程语言 > Python开发

python,numpy等的安装方式以及Theano的安装、vim的python开发环境配置总结

2013-12-29 16:26 851 查看
    首先讲一下写这篇文章的动机,之前已经写过一段时间的python代码了,但是基本上仅限于基本的算法和机器学习方面的算法,对Linux、Mac OS下的环境也不是很熟悉。

    不过最近开始研究Deep Learning,准备捣鼓下Montreal 大学Yoshua Bengio等人搞的python的包Theano(论文地址:http://www.iro.umontreal.ca/~lisa/pointeurs/theano_scipy2010.pdf ;Tutorial:http://deeplearning.net/software/theano/index.html),CPU/GPU
symbolic expression compiler in python (from LISA lab at University of Montreal).

    第二个呢,打算用vim来写python(之前也用这个,不过用的蛮痛苦的,也一直没时间去改进),所以查了一些资料来对vim进行配置达到python开发的需要。

这篇文章内容很多很杂,不过我打算放到一篇文章里面进行总结(人太懒 - -!本人风格如此)。

一、vim的配置

    首先讲一下配置vim为python的开发环境的问题。这里我参考了这个博客的一些建议《Vim as a Python IDE》 http://unlogic.co.uk/posts/vim-python-ide.html

我就不翻译了,说一些重点。

首先安装Vundle(Vundle is short for Vim bundle and is a Vim plugin manager),是一个vim插件的管理器。安装了git的话可以直接在shell里输入:

$ git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

因为之前几乎对inux方面的知识一知半解(吐槽一下,现在国内的本科计算机教育教 Linux 的太少了!全被微软惯坏了!  ),借这个机会让自己往Linux方向过渡。

关于对.vimrc的操作(相当于.bashrc之类,在vim启动时会调用并对vim进行初始化等配置,例如颜色高亮等。另外在vim中输入:version 会告诉你这个文件在哪里可以找到,在Unix下一般都是在Home目录下),首先在home下输入:

$ ls -a,

如果没有.vimrc文件,则在该目录下新建一个:

$ touch .vimrc

用vim打开进行编辑:

$ vim .vimrc
(直接打开vim程序的话也可以进行编辑,只要输入:e ~/.vimrc)

之后的操作按照前面链接给出的方式进行就ok了。

关于vim的操作技巧以后有时间再写吧。

另外补充一句:你可以使用ipython这个交互式命令工具,比python自带的shell更强大。IDE的话当然也可以用TextMate、Sublime Text2等。

二、关于python科学计算发行版和Mac OS下的软件包管理工具

    首先说一下Mac OS下的软件包管理工具,我目前知道的有macports和homebrew。之前有装但是当时并不知道是什么东东,装homebrew是因为当时刚买了台Mac,然后开始做和北海道农业研究所关于智能农业的项目,一博士大哥帮忙装了后来也就忘了这回事;至于macports是刚开始用python的时候看了《机器学习实战》这本书,有讲到用macport来安装numpy、matplotlib等包。

(转 http://www.cr173.com/html/20276_1.html  Mac下用Homebrew替换MacPorts),Homebrew是一个Ruby开发的智能的包管理系统。她能判断系统包的状况,并能够依赖系统已有的组件,不用重新下载一阵套组件。而MacPorts是自成一派的,他的所有组件全部安装在/opt目录下,带来的问题就是很多系统已经有的组件都要重新下载,费时间也费空间。而且Homebrew本身使用Git管理,升级非常方便。不过MacPorts和Homebrew它们之间是不兼容的。(

Warning: It appears you have MacPorts or Fink installed.
Software installed with other package managers causes known problems for
Homebrew. If a formula fails to build, uninstall MacPorts/Fink and try again.
)
附上homebrew的安装方式 http://brew.sh/index_zh-cn.html

这里介绍几种安装numpy等的方式

1、一个是通过下载发行版来进行安装

比如EPD(Enthought Python Distribution) https://enthought.com/products/epd/、Anacondahttp://continuum.io/downloads 等。方法很简单,只要下载安装就可以了,numpy等科学计算的包都附带在里边,不需要自己再进行额外安装了。

具体的介绍可以看官网以及 http://blog.csdn.net/rumswell/article/details/8927603#t0。卸载时记得删掉.bash_profile里面的一些配置,否则会搞的很混乱。

至于安装theano:

sudo easy_install pip

sudo pip theano

easy_install是python包的管理工具(安装完python就有,但是没有pip,需要easy_install pip),pip是easy_install的取代,具体看这里http://guide.python-distribute.org/installation.html#installing-pip 。

这里要说一个比较重要的问题,因为我之前安装了EPD,然后又想把系统自带的python2.7换成3.3的版本(不需要删除原来版本,只要link就可以了),于是我参照了http://www.chenwg.com/python/%E6%9B%B4%E6%96%B0mac%E8%87%AA%E5%B8%A6%E7%9A%84python.html的操作,结果并没有成功。后来发现是因为在.bash_profile里面有这么一行

VIRTUAL_ENV_DISABLE_PROMPT=1 source /Users/Derek/Library/Enthought/Canopy_64bit/User/bin/activate
这是安装EPD时候自动add上去的,貌似和virtualenv是一个道理。只要注释掉就ok了(EPD还是比较绿色的软件,只要注释掉就不会影响原来python的使用了)。
因为当时安装科学计算包的时候各种方法都试了一遍,导致特别混乱。所以大家只要选择其中一种方式就好了。

针对上面链接给的操作说一个/System ,/Library ,/usr/bin 这三个目录下python的问题:

 /usr/bin是为了让你符合unix习惯而设立的,这样用起python来感觉和其他Unix一致。其实只是个符号链接。 
/System/Library/Frameworks中的Python.framework是真正的Python,Mac的frameworks可以包括多个版本,所以里面可以看到2.5,2.6之类的Version,这些文件夹里包含整个Python 发行版。 
/Library/Python是给用户放第三方库用的。 
另外,一般而言,系统库放/System/Library,而应用程序依赖的放/Library,所以,苹果自带的python放在前者,而用户自己装的python(比如官方网站下载的)会自动装在后者。 

2、如果你不想安装上面的发行版(因为可能会有一些版本上面的问题),你可以通过下面几种方式,不过当然没有发行版来的傻瓜式,对于用惯了windows的还是比较折腾的

(1)、你可以通过MacPorts(不过貌似大家并不推荐,原因就是它将组件都安装在了/opt目录下,导致很多系统组件需要重新下载比较麻烦。有一外国哥们儿说Do people really still use MacPorts
???)来进行安装管理。

$ sudo port install py27-matplotlib 

其他就不细说了。

(2)、通过pip进行安装,这个没什么好说的,pip本来就是用来管理python包的。不过 https://github.com/Homebrew/homebrew-python 推荐用brew来进行安装,说了些why
not pip的原因。

最后说一下我的安装方式——通过brew来进行管理,经过了各种混乱的尝试,终于理清的思路(大家可以选择自己方式,不过我比较推荐用brew来安装,比较清楚。不想折腾的话发行版是最好的方式了):

1、安装homebrew

$ ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"

安装完之后你可以通过$ which brew 查看brew的所在目录是/usr/local/bin/brew

将brew的目录加入到path中:export PATH = /usr/local/bin:$PATH

2、安装python3.3 

$ brew install python3

经过几分钟的安装完成后,讲python scripts directory加到path中:export PATH = /usr/local/share/python3:$PATH

用brew安装python的时候,它同时也安装了pip3。

更新:

pip3 install --upgrade setuptools
pip3 install --upgrade pip
用$ brew linkapps可以symlink idle3 和python launcher到~/Application上
pip3安装的package会被安装到/usr/local/lib/python3.3/site-packages

这时$ which python 会出现/usr/bin/python 它是系统自带的版本,指向
/System/Library/Frameworks/Python.framework/Versions/Current
如果想更新mac自带的python,参考http://www.chenwg.com/python/%E6%9B%B4%E6%96%B0mac%E8%87%AA%E5%B8%A6%E7%9A%84python.html
输入$ which python3 会出现/usr/local/bin/python3 也就是我们用brew安装python3.3的地方。(p.s. 直接从官网下载dmg文件安装的话会被安装在/Library/Frameworks/Python.framework/Versions/ 下)

如果需要可以安装virtualenv:$ pip3 install virtualenv   
(也可选择pythonbrew)

3、安装numpy、matplotlib等(被安装到 /usr/local/lib/python3.3/site-packages)

注意顺序

Install numpy:

$ pip3 install numpy

Install scipy:

$ brew install gfortran

$ pip3 install scipy

install matplotlib

$ pip3 install matplotlib 

以上

有什么地方可以补充或者错误的希望大家指出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息