终于开始我的Python之旅,一开始发现系统自带的python版本为2.6.6,于是偷了个懒,并没有升级我的python版本。
然而在实际操作中,被各种路径闹得烦不胜烦,遂通过万能的百度爸爸得知存在ipython这一款神器,于是果断查阅相关资料进行安装。安装中遇见一些问题,觉得可能以后重新安装还会遇见,于是决定记录一下。
<img src="http://img.noanylove.com/wp-content/uploads/2014/10/2_1.png" alt="图一" />
已经安装好gcc等编译工具。系统自带Python的版本和安装位置如图二所示:
<img src="http://img.noanylove.com/wp-content/uploads/2014/10/2_2.png" alt="图二" />
安装步骤
1、安装开发库文件
编译Python只要有gcc编译器就足够了,但一些扩展模块需要额外的库,否则一些Python模块将不可用(比如Python的zlib模块需要zlib-devel,ssl模块需要openssl-devel)。用户可以根据需要,选择性的安装这些扩展模块。这里我们安装zlib、ssl和sqlite3的库文件。
yum install zlib-devel openssl-devel sqlite-devel
2、下载Python
目前最新版本为2.7.8。
wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
tar zxvf Python-2.7.8.tgz
3、编译安装
为了方便管理,将Python安装到/usr/local/python路径下。
cd Python-2.7.8
./configure --prefix=/usr/local/python
make
make install
4、替换系统自带Python
安装后,Python 2.7.8的可执行文件位于/usr/local/python/bin。先将系统自带的Python重命名为python2.6,再创建新的Python到/usr/bin目录下的符号链接。
mv /usr/bin/python /usr/bin/python2.6 #其实不要这句也行,加上了预防万一
ln -sf /usr/local/python/bin/python2.7 /usr/bin/python
再执行python --version
,可以看到已经是2.7.8版了,如图三所示。
<img src="http://img.noanylove.com/wp-content/uploads/2014/10/2_3.png" alt="图三" />
现在,系统默认调用Python 2.7.8,执行yum会出现如图四所示错误。
<img src="http://img.noanylove.com/wp-content/uploads/2014/10/2_4.png" alt="图四" />
#!/usr/bin/python
修改为:
#!/usr/bin/python2.6
6、安装setuptools和pip
玩Python不能没有setuptools和pip。这里使用pip提供的安装脚本,自动安装setuptools和pip。
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
因为之前更改了Python的安装目录,Python扩展模块的可执行文件会被安装到/usr/local/python/bin目录下。为了能够直接运行这些文件,我们要么创建到/usr/bin目录下的符号链接,要么将/usr/local/python/bin目录添加到PATH环境变量中。为了避免不必要的冲突,这里采用创建符号链接的方式。
ln -sf /usr/local/python/bin/pip /usr/bin/pip
ln -sf /usr/local/python/bin/easy_install /usr/bin/easy_install
7、安装IPython
有了pip,安装IPython简直So easy。(同样将IPython的可执行文件链接到/usr/bin目录下)
pip install ipython
ln -s /usr/local/python/bin/ipython /usr/bin/ipython
如图五所示。
<img src="http://img.noanylove.com/wp-content/uploads/2014/10/2_5.png" alt="图五" />
没有readline支持的IPython弱得没法用。这里安装readline:
yum install readline-devel
yum install patch #相信我,不安装这个就无法编译readline
pip install readline
之后,IPython的高亮显示和代码补完等功能就可以用了,如图六所示。当然,现在的IPython只具备了最基本的功能,还有一些模块没有安装,所以无法使用诸如并行计算、Qt Console、Notebook等功能。不过这不是我们这篇文章要讨论的内容了。以后有时间会写一篇安装使用IPython其他模块和功能的文章。
<img src="http://img.noanylove.com/wp-content/uploads/2014/10/2_6.png" alt="图六" />