RHEL7 安装python3
1、先去python官网下载python3的源码包,网址:https://www.python.org/
1)进去之后点击导航栏的Downloads,出现python最新版本的下载界面,点击download
2)下载Gzip包
3)下载完成后,先安装解压和安装python需要的依赖包
yum -y install gcc yum -y install zlib zlib-devel yum -y install bzip2 bzip2-devel yum -y install ncurses ncurses-devel yum -y install readline readline-devel yum -y install openssl openssl-devel yum -y install openssl-static yum -y install xz lzma xz-devel yum -y install sqlite sqlite-devel yum -y install gdbm gdbm-devel yum -y install tk tk-devel yum -y install libffi libffi-devel
4)安装完依赖包之后,将python压缩包解压缩到/usr/local/src中
cd /usr/local/src tar -xvzf /root/Public/Python-3.7.1.tgz
2、进入目录
cd /Python-3.7.1.tgz
1)配置编译
./configure --prefix=/usr/python --enable-shared CFLAGS=-fPIC
注:这里加上--enable-shared和-fPIC之后可以将python3的动态链接库编译出来,默认情况编译完lib下面只有python3.xm.a这样的文件,python本身可以正常使用,但是如果编译第三方库需要python接口的比如caffe等,则会报错;所以这里建议按照上面的方式配置,
如果openssl不使用系统yum安装的,而是使用自己编译的比较新的版本可以使用--with-openssl=/usr/local/openssl这种方式指定,后面目录为openssl实际安装的目录,另外编译完还要将openssl的lib目录加入ld运行时目录中即可.
2)接下来编译源码:
make
3)执行安装:
make install
安装成功之后,安装目录就在/usr/python
4)安装完成之后要简单做一下配置:即将python库路径添加到/etc/ld.so.conf配置中
echo "/usr/python/lib" >> /etc/ld.so.conf vi /etc/ld.so.conf.d/python3.conf /usr/python/lib
5)然后执行ldconfig生效,这样在接下来运行python3是就不会报找不到库文件的错误了.
ldconfig
系统中原来的python在/usr/bin/python,通过ls -l可以看到,python是一个软链接,链接到本目录下的python2.7
这里不要把这个删除,不对原来默认的环境做任何修改,只新建一个python3的软链接即可,只是需要执行python3代码时python要改成python3,或者python脚本头部解释器要改为#!/usr/bin/python3
6)建立软链接
ln -s /usr/python/bin/python3 /usr/bin/python3 ln -s /usr/python/bin/pip3 /usr/bin/pip3
这样就建立好了,以后直接执行python3命令就可以调用python3了,执行pip3可以安装需要的python3模块;
3、由于python3交互式界面特别不好用,删除不能正常使用,必须按Ctrl+删除键才可以,上下键重复命令也无法使用,左右调整光标也无法使用,这样调试代码效率很低,原因是python3缺少readline这个依赖,默认使用pip3 install readline会提示找不到包,所以只能是手动安装了
1)因为readline依赖于ncurses库,如果没有这个库,编译readline的时候会提示can not find -lncurses,如果在centos环境下可以执行下面命令安装:
cd /run/media/root/RHEL-x.x/Packages/ yum -y install ncurses ncurses-devel
2)安装readline到/root/Public,网址https://pypi.python.org/pypi/readline,点击download files,选择gz包
3)解压
cd /usr/local/src tar -xvzf /root/Public/readline-6.2.4.1.tar.gz
4)安装readline
cd readline-6.2.4.1/ python3 setup.py install
这样执行完毕就为python3安装了readline,然后再进入交互式界面所有的操作都好用了