winston 发表于 2014-6-6 23:04:36

CentOS 6.5 编译安装Python 3.4.1

CentOS 6.5 系统默认预装的是python2.6,不使用额外的源,无法直接安装python3。这时候我们可以选择编译安装。

以最新的python 3.4.1为例:

进入linux系统,运行:

wget https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tgz

tar zxvf Python-3.4.1.tgz

cd Python-3.4.1

./configure --prefix=/usr

这样python3就会安装到/usr/bin下,如果 --prefix=/usr/bin,安装目录就会变成/usr/bin/bin,这不是我们想要的。
运行完脚本后,继续运行:
make all

发现出现错误:
INFO: Can't locate Tcl/Tk libs and/or headers

Python build finished successfully!
The necessary bits to build these optional modules were not found:
_bz2 _curses _curses_panel
_dbm _gdbm _lzma
_sqlite3 _ssl _tkinter
readline zlib
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

经过一番研究,可以使用命令:

yum install bzip2-devel curses-devel dbm-devel gdbm-devel xz-devel sqlite sqlite-devel openssl openssl-devel tkinter tcl-devel tk-devel readline readline-devel zlib zlib-devel

安装必要的类库和开发包。
也可以先这样:yum groupinstall "development tools" 一起安装所需的各种类库,然后再看缺什么内容。

重新运行:
make all

编译成功。
make install
脚本会自动安装setuptools 和 pip。
pip会改名为:pip3,python编译后,会改名为python3。
默认情况下,python是指向python2.6的符号连接,需要把python默认为python3的,可以
ln -s /usr/bin/python3 /usr/bin/python

然后就可以安装运行各种软件了。

如果把默认的python改成python3,yum会无法运行,这时候,
修改一下yum脚本即可:
vim /usr/bin/yum
第一行改成:
#!/usr/bin/python2
保存退出。


如果编译python 3.3.5,则安装包最后不会自动安装setuptools 和pip,需要自己手动安装。
pip需要setuptools支持。

运行:
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py

脚本会自动安装好pip和setuptools










winston 发表于 2014-6-10 15:00:15

发一篇关于安装python的文章:
https://www.digitalocean.com/com ... 3-3-3-on-centos-6-4
它阐述了如何不影响现有程序如yum来达成目标。
页: [1]
查看完整版本: CentOS 6.5 编译安装Python 3.4.1