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

ubuntu环境下python开发环境搭建问题(持续补充当中)

2013-11-09 15:11 696 查看
关于ubuntu环境下python开发环境搭建在网上有许多相关资料,但都语焉不详,须知80%以上初学者在学习一门语言的过程中都止步于开发环境问题。本人现在电力行业从事火电类工作,2013年10月才开始学习python、C++、linux,初开博客不足之处请多多包涵。

(1)ubuntu不是默认安装python了么?有什么好讲的?

对,ubuntu12.04LTS是默认安装了python2.7.3,但默认安装的python连安装了什么样的modules都无法查看,因为ubuntu系统中许多软件的运行都依赖它所默认安装的python2.7.3,所以它的很多配置是被改过的,而我们在学习python的过程中需要安装不少modules,所以我不推荐用系统自带的python,因为这样会把系统弄得一团糟。

(2)那我怎么用python?

目前常用的版本为python2.7.5,python3.3,当时我下载了python2.7.5的源码安装包起初我根据README里的说明:

if you want to install Python 2.5, 2.6 and 3.0 with 2.6 being
the primary version, you would execute "make install" in your 2.6 build
directory and "make altinstall" in the others.

进行了三步操作:

./configure=/opt/

make

make altinstall

然后添加软连接ln -s /opt/python-2.7.5/bin/python27 /usr/bin/python2.7.5

(3)pythonbrew

通过添加软连接的办法依然很麻烦,你不能修改原有的python、python27软连接,因为那样会使你的ubuntu系统无法更新,总之所有依赖python运行的系统软件都会有问题。于是我google到水木论坛:一般玩python,都会安装pythonbrew。它是一个python版本管理器,安装文档见

https://pythonbrew.readthedocs.org/en/latest/

但是在安装pythonbrew之前请先安装以下组件:

apt-get install zlib1g-dev libbz2-dev libreadline-dev libgdbm-dev libssl-dev libsqlite3-dev

参见https://github.com/utahta/pythonbrew/issues/81

否则在用pythonbrew安装某个你所指定版本的python时,pybrew将无法自动为你装上setuptools包,而没有setuptools包你将无法使用pip......

用pythonbrew安装好你所需要的python后,使用以下命令(更多命令请自行查看使用手册):

pythonbrew switch X.X.X

可以设置默认的python为你所指定的版本。

最后需要注意的是,安装pythonbrew时请留意当前的用户名,pythonbrew的命令默认只能以该用户身份执行。

(4)为pythonbrew中的python安装开发项目所需要的包

处于工作上的需要,我需要安装numpy、scipy包进行科学计算,pip numpy install成功,pip scipy install失败,返回信息如下:

numpy.distutils.system_info.BlasNotFoundError:Blas(http://www.netlib.org/blas/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [blas])or by setting
the BLAS environment variable.

google之,在http://stackoverflow.com/questions/7496547/python-scipy-needs-blas上已经有人回答了,安装以下包:

sudo apt-get install gfortran libopenblas-dev liblapack-dev

OK问题解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: