CentOS7.6安装最新python3.7.2及常见安装bug

一、下载python源码

       官网:https://www.python.org/downloads/

       本次下载版本python3.7.2,https://www.python.org/downloads/release/python-372/

CentOS7.6安装最新python3.7.2及常见安装bug_第1张图片

   也可以直接使用命令下载,但是速度会比较慢(我当时是很慢很慢……)

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

二、解压、配置

      下载完成后解压,然后添加配置。在configure的选项中,--prefix定义了安装位置,便于以后更新或删除python;--enable-shared指定安装共享库,共享库在使用其他需调用python的软件时会用到,比如使用mod_wgsi连接Apache与python时需要,最好填上。

$ tar -xzvf Python-3.7.2.tgz

$ cd Python-3.7.2

$ ./configure --prefix=/usr/local/python3 --enable-shared

$ sudo mkdir /usr/local/python3

注:如果./configure 后显示
       checking for gcc... no
       checking for cc... no
       checking for cl.exe... no
       configure.sh:error:no acceptable C compiler found in $PATH
       See 'config.log' for more details.

       解决办法:yum -y install gcc

三、编译、安装

$ make

$ sudo make install

四、创建软链接

然后建立python3和pip3的软链。

$ ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3

$ ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

建立软链后输入python3即可进入python3解释器,同时你还可以输入pythonpython2进入python2解释器,二者可以共存。

CentOS7.6安装最新python3.7.2及常见安装bug_第2张图片

五、常见bug

1.输入python3后显示

python3: 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

将编译后的python/lib地址加入conf文件,按照教程的话应该地址是:/usr/local/python3/lib

#ldconfig

再次查看输入python3,即可看到正确显示信息

2.没有pip

如果安装完后发现pip不能用,很可能是没有安装相应的依赖,碰到这个问题可以参考这篇回答——centos在python3环境下安装PIP的问题?。

3.无法导入ssl模块、Python Shell 中敲击方向键显示、无法导入sqlite3模块、Python 编译后提示依赖不全

   解决方法见参考文章【1】

 

参考文章:【1】Linux下源码编译安装Python3

                  【2】https://blog.csdn.net/tonyrain123/article/details/81045797

                  【3】checking for gcc... no

你可能感兴趣的:(Linux)