Linux下使用源码安装出现的坑

测试配置:
linux版本:centos7
[root@localhost zzj_python]# cat /proc/version
Linux version 3.10.0-957.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Thu Nov 8 23:39:32 UTC 2018
python版本:
[root@localhost zzj_python]# python3
Python 3.7.0 (default, Aug 20 2019, 07:15:25)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
源码包:
下载路径:https://www.python.org/downloads/source/
下载源码:Download Gzipped source tarball

  ****测试:****
                    1:上传到指定linux目录:/zzj_temp/python_rpm
                    2:解压  tar -xzf Python-3.7.0.tgz     
                    3:cd Python-3.7.0
                    4:初次安装 ./configure -> make ->  make install   此种安装报各种包依赖  我们一步步按照依赖包去安装依赖
                    5:挂载磁盘:mount  /dev/cdrom  /media/cdrom/   
                    6:yum云安装  yum -y install zlib* libffi-devel -y  
                                             yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
                    7:此时python3已经安装完毕,可以正常使用可是无法使用pip3进行相关插件的安装
                    8:此时发现需要在编译的时候加上相关参数不然pip3安装会报Can't connect to HTTPS URL because the SSL module is not available
                    9:重新按照如何步奏安装源码包(无需清楚安装软件)
                                        再次安装:./configure --enable-shared --enable-loadable-sqlite-extensions->make->make install
                    10:再次尝试执行pip3 install --user psutil  依然报错,报错为error while loading shared libraries   解决办法是在执行vi /etc/ld.so.conf,在"include ld.so.conf.d/*.conf"下方增加"/usr/local/lib"。
                       原理如下:默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件,通常通过源码包进行安装时,如果不指定--prefix,会将库安装在/usr/local/lib目录下;当运行程序需要链接动态库时,提示找不到相关的.so库,会报错。也就是说,/usr/local/lib目录不在系统默认的库搜索目录中,需要将目录加进去。

1、首先打开/etc/ld.so.conf文件
  2、加入动态库文件所在的目录**:执行vi /etc/ld.so.conf,在"include ld.so.conf.d/*.conf"下方增加"/usr/local/lib"**。
  3、保存后,在命令行终端执行:/sbin/ldconfig -v;其作用是将文件/etc/ld.so.conf列出的路径下的库文件缓存到/etc/ld.so.cache以供使用,因此当安装完一些库文件,或者修改/etc/ld.so.conf增加了库的新搜索路径,需要运行一下ldconfig,使所有的库文件都被缓存到文件/etc/ld.so.cache中,如果没做,可能会找不到刚安装的库。
  经过以上三个步骤,"error while loading shared libraries"的问题通常情况下就可以解决了。

如此便成功安装并且可以使用pip3完成相关软件的安装了
大佬你可以随意安装依赖包了,不管是window还是linux

你可能感兴趣的:(python安装)