RedHat Enterprise Server RHEL v7.7 环境下编译安装python v3.7.5

 

RedHat Enterprise Server RHEL v7.7 环境使用官方安装光盘只能安装python v2.7版本。由于工作中要使用python v3.x版本,只能手工编译安装了,以下是步骤。

首先到python官网下载python v3.7.5的源码包,下载好的文件Python-3.7.5.tgz通过sftp上传到RHEL v7.7机器上。官网地址:https://www.python.org/

 

1,编译源码前先用yum安装一些必要的模块。如果机器可以连接到外网,也可以用阿里云镜像yum源来安装,这样方便很多啊!

#yum -y install gcc zlib zlib-devel \
bzip2 bzip2-devel \
ncurses ncurses-devel \
readline readline-devel \
openssl openssl-devel \
xz xz-devel \
sqlite sqlite-devel \
gdbm gdbm-devel \
tk tk-devel \
libffi-devel

 

2,接下来解包python v3.7.5软件包

#gunzip Python-3.7.5.tgz
#tar -xvf Python-3.7.5.tar

 

3,编译源码,执行安装。这里加上--enable-shared和-fPIC之后可以将python3的动态链接库编译出来,默认情况编译完lib下面只有python3.xm.a这样的文件,python本身可以正常使用,但是如果编译第三方库需要python接口的比如caffe等,则会报错;

#cd Python-3.7.5
#./configure --prefix=/usr/python --enable-shared CFLAGS=-fPIC
#make
#make install

编译安装成功之后,安装目录就在/usr/python。如果有报错ModuleNotFoundError: No module named '_ctypes',这是需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可。

#yum install libffi-devel -y
#make install

 

4,添加库的配置信息,将/usr/python/lib的绝对路径添加至conf文件中。库配置文件一般都在系统/etc/ld.so.conf配置里,这个文件实际上是包含了/etc/ld.so.conf.d/这个目录下的所有.conf文件。所以新建一个python3.conf即可。

#vi /etc/ld.so.conf.d/python3.conf
/usr/python/lib

保存退出后执行命令ldconfig,让新建的python3.conf文件生效。

#ldconfig

 

5,在/usr/bin里创建python3命令的链接,这样在任何路径下都可以执行python3命令了。

#ln -s /usr/python/bin/python3 /usr/bin/python3
#ln -s /usr/python/bin/pip3 /usr/bin/pip3

 

6,测试一下

#cd /tmp
#python3
Python 3.7.5 (default, Dec  3 2019, 16:56:22)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit();
#

 

posted on 2019-12-03 18:38  zlg88  阅读(280)  评论(0编辑  收藏  举报