centos7安装python3.6.6以及报错解决
下载包
cd 到/tmp目录下
wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz
解压
tar -xzvf Python-3.6.6.tgz -C /tmp
进入
cd Python-3.6.6/
这一步可能会报错原因没有gcc库
./configure --prefix=/usr/local
由于本机缺少gcc编译环境
1、通过yum安装gcc编译环境:yum install -y gcc
2、本机没有安装yum功能,可下载gcc安装包:https://gcc.gnu.org/
这一步可能会报错原因没有安装zlib相关依赖包
make
make altinstall
报错提示:zipimport.ZipImportError: can't decompress data; zlib not available make: *** [altinstall] Error 1
解决:
yum -y install zlib*
稍后继续执行
更改/usr/bin/python链接
cd/usr/bin
mv python python.backup
ln -s /usr/local/bin/python3.6 /usr/bin/python
ln -s /usr/local/bin/python3.6 /usr/bin/python3
更改yum脚本的python依赖
cd /usr/bin
ls yum*
vi /usr/bin/yum
vi /usr/libexec/urlgrabber-ext-down
更改以上文件头为>!/usr/bin/python 改为 #!/usr/bin/python2大功告成
python3 和pip 都可以用了。
pip 报错处理
-
python pip 出现locations that require TLS/SSL异常处理方法
最近在Centos 7上安装Python3.6.6之后,使用pip命令出现了问题,提示说找不到ssl模块,出现错误如下: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. Could not fetch URL https:*******: There was a problem confirming the ssl certificate: Can't connect to HTTPS URL because the SSL module is not available. - skipping
查阅资料发现,在./configure过程中,如果没有加上–with-ssl参数时,默认安装的软件涉及到ssl的功能不可用,
刚好pip3过程需要ssl模块,而由于没有指定,所以该功能不可用。
1、查看openssl安装包,发现缺少openssl-devel包
rpm -aq | grep openssl
openssl-1.0.2k-16.el7.x86_64
openssl-libs-1.0.2k-16.el7.x86_64
2、yum安装openssl-devel :
yum install openssl-devel -y
3、查看安装结果
rpm -aq | grep openssl
openssl-1.0.2k-16.el7.x86_64
openssl-devel-1.0.2k-16.el7.x86_64
openssl-libs-1.0.2k-16.el7.x86_64
重新对python3.6进行编译安装,用一下过程来实现编译安装:
cd Python-3.6.6
./configure --with-ssl
make
make altinstall