您的位置:首页 > 运维架构 > Linux

CentOS 6.5升级Python和安装pip、IPython

2017-02-14 11:56 756 查看
网络转载 不好意思:)

CentOS 6.5升级Python和安装pip、IPython

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。 也可以是2.7.9

wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
tar xvf 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 -V查看版本

5、修正yum

现在,系统默认调用Python 2.7.8,执行yum会出现如图四所示错误。

yum无法执行

解决方法:将/usr/bin/yum文件开头的第一行代码:

#!/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

安装IPython

8、安装readline扩展模块

没有readline支持的IPython弱得没法用。这里安装readline:

yum install readline-devel

yum install patch #相信我,不安装这个就无法编译readline

pip install readline

之后,IPython的高亮显示和代码补完等功能就可以用了,如图六所示。当然,现在的IPython只具备了最基本的功能,还有一些模块没有安装,所以无法使用诸如并行计算、Qt Console、Notebook等功能。不过这不是我们这篇文章要讨论的内容了。以后有时间会写一篇安装使用IPython其他模块和功能的文章。

安装好的IPython

参考文档
http://blog.csdn.net/handsomekang/article/details/11693899 https://pip.pypa.io/en/latest/installing.html http://ipython.org/ipython-doc/2/install/install.html
补充

第6步以后:

# which pip

/usr/local/python3.5.1/bin/pip

/usr/local/python3.5.1/bin下的多出了:

easy_install、easy_install-3.5

pip、pip3、pip3.5

# ln -sf /usr/local/python3.5.1/bin/easy_install-3.5 /usr/bin/easy_install

第7步的安装过程显示:

# pip install ipython

Collecting ipython

Downloading ipython-4.2.0-py3-none-any.whl (736kB)

100% |################################| 737kB 11kB/s

Collecting simplegeneric>0.8 (from ipython)

Downloading simplegeneric-0.8.1.zip

Collecting setuptools>=18.5 (from ipython)

Downloading setuptools-21.0.0-py2.py3-none-any.whl (509kB)

100% |################################| 512kB 22kB/s

Collecting traitlets (from ipython)

Downloading traitlets-4.2.1-py2.py3-none-any.whl (67kB)

100% |################################| 71kB 42kB/s

Collecting pexpect (from ipython)

Downloading pexpect-4.0.1.tar.gz (143kB)

100% |################################| 153kB 7.3kB/s

Collecting decorator (from ipython)

Downloading decorator-4.0.9-py2.py3-none-any.whl

Collecting backports.shutil-get-terminal-size (from ipython)

Downloading backports.shutil_get_terminal_size-1.0.0-py2.py3-none-any.whl

Collecting pickleshare (from ipython)

Downloading pickleshare-0.7.2-py2.py3-none-any.whl

Collecting ipython-genutils (from traitlets->ipython)

Downloading ipython_genutils-0.1.0-py2.py3-none-any.whl

Collecting ptyprocess>=0.5 (from pexpect->ipython)

Downloading ptyprocess-0.5.1-py2.py3-none-any.whl

Building wheels for collected packages: simplegeneric, pexpect

Running setup.py bdist_wheel for simplegeneric ... done

Stored in directory: /root/.cache/pip/wheels/7b/31/08/c85e74c84188cbec6a6827beec4d640f2bd78ae003dc1ec09d

Running setup.py bdist_wheel for pexpect ... done

Stored in directory: /root/.cache/pip/wheels/f2/65/89/09578bcd0efeabc7e2b0079cd62d3955c1477f2e55aa5031a4

Successfully built simplegeneric pexpect

Installing collected packages: simplegeneric, setuptools, ipython-genutils, decorator, traitlets, ptyprocess, pexpect, backports.shutil-get-terminal-size, pickleshare, ipython

Found existing installation: setuptools 18.2

Uninstalling setuptools-18.2:

Successfully uninstalled setuptools-18.2

Successfully installed backports.shutil-get-terminal-size-1.0.0 decorator-4.0.9 ipython-4.2.0 ipython-genutils-0.1.0 pexpect-4.0.1 pickleshare-0.7.2 ptyprocess-0.5.1 setuptools-21.0.0 simplegeneric-0.8.1 traitlets-4.2.1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: