1、下载安装包

2、安装必要模块

  python安装之前需要一些必要的模块,如openssl,readline等。

  如果没有这些模块后来使用会出现一些问题,比如没有openssl则不支持ssl相关的功能,并且pip3在安装模块的时候会直接报错;没有readline则python交互式界面删除键和方向键都无法正常使用,至于需要什么模块在make完之后python会给出提示,通过提示进行安装即可装全,下面是需要提前预装的依赖:

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

3、python安装

  • (1)上传python安装包
      rz命令将上面下载的python源码包上传到某个目录。
  • (2)安装

#解压安装包

tar -xvzf Python-3.7.2.tgz

#进入安装包目录cd Python-3.7.2

#配置编译,将安装目录设置为/usr/python#加上--enable-shared和-fPIC,可以将python3的动态链接库编译出来,默认情况编译完lib下面只有python3.xm.a这样的文件,python本身可以正常使用,但是如果编译第三方库需要python接口的比如caffe等,则会报错;所以这里建议按照以下方式配置,另外如果openssl不使用系统yum安装的,而是使用自己编译的比较新的版本可以使用--with-openssl=/usr/local/openssl这种方式指定,后面目录为openssl实际安装的目录,另外编译完还要将openssl的lib目录加入ld运行时目录中即可。

./configure --prefix=/usr/python --enable-shared CFLAGS=-fPIC

#编译源码

make

#执行安装

make install

4、配置

  • (1)添加动态链接库路径
       如果不进行这步操作,会出现以下问题:error while loading shared libraries: libpython3.7m.so.1.0: cannot open shared object file: No such file or directory。
      问题原因:这是因为centos下安装python3没有将编译后python/lib下的文件放入默认库/usr/lib或/lib中,导致初始化时没有加载库文件。
      解决办法:将lib添加至配置信息中
cd /etc/ld.so.conf.d

vim python3.conf #默认没有该文件,添加/usr/python/lib到文件中并保存

ldconfig #执行ldconfig命令,使修改生效
  • (2)设置软连接
ln -s /usr/python/bin/python3.7 /usr/bin/python3

ln -s /usr/python/bin/pip3.7 /usr/bin/pip3
  • (3)直接将python路径加入环境变量
    可以不用设置软连接,直接将python路径加入环境变量
cd /etc/profile.d

vim python3.sh #默认没有该文件,添加以下字段并保存

在python3.sh增加以下两行代码

export PYTHON_HOME=/usr/local/python3

export PATH=$PYTHON_HOME/bin:$PATH
  • (4)测试是否设置成功
    任意地方命令行输入:
python3 -V

pip3 -V