RedHat Enterprise Server RHEL v7.7 环境下编译安装python v3.7.5
Posted zlg88
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RedHat Enterprise Server RHEL v7.7 环境下编译安装python v3.7.5相关的知识,希望对你有一定的参考价值。
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(); #
以上是关于RedHat Enterprise Server RHEL v7.7 环境下编译安装python v3.7.5的主要内容,如果未能解决你的问题,请参考以下文章
RHEL(RedHat Enterprise Linux)5/6 ISO镜像下载
如何用硬盘安装《红帽企业级Linux AS版》(Redhat Enterprise Linux AS v5.4)rhel-server-5.4-i386-dvd。
Red Hat Enterprise Linux Server (2.6.18-92.el5)下载
Red Hat Enterprise Linux 9.0 PXE Server