测试配置:
linux版本:centos7
[root@localhost zzj_python]# cat /proc/version
Linux version 3.10.0-957.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (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