centos6.5安装python3.7.1之后无法使用pip的解决方案

yipeiwu_com6年前Python基础

编译安装全是坑……

第一遍装完无法使用pip,报错找不到ssl模块。各种报错:

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
。。。
configure: error: Invalid --with-openssl value
。。。

结果各种捣鼓。

1、注意cetos6.5自带的openssl版本是1.0.1,需要升级到1.0.2,升级完之后用openssl version检查一下;

2、提前安装好各种依赖包。yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++  libffi-devel

3、./configure --prefix=/usr/local/python 之后,需要进到Modules里,修改Setup如下(一般升级完openssl,openssl默认就在/usr/local/ssl文件夹了):

# Socket module helper for socket(2)
_socket socketmodule.c
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
SSL=/usr/local/ssl
_ssl _ssl.c \
    -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
    -L$(SSL)/lib -lssl -lcrypto

把这5行的注释去掉。再进行make && make install,应该就能成功了。如果以前编译失败,记得把原来的Makefile文件删除掉。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

简单介绍Python中的round()方法

 round()方法返回 x 的小数点四舍五入到n个数字。 语法 以下是round()方法的语法: round( x [, n] ) 参数  &nbs...

使用IronPython把Python脚本集成到.NET程序中的教程

从两个优秀的世界各取所需,更高效的复用代码。想想就醉了,.NET和python融合了。“懒惰”的程序员们,还等什么? Jesse Smith为您展示如何两个语言来服务同一个.NET程序。...

使用python的pexpect模块,实现远程免密登录的示例

说明 当我们需要用脚本实现,远程登录或者远程操作的时候,都要去解决如何自动输入密码的问题,一般来说有3种实现方式: 1).配置公钥私钥 2).使用shell下的命令,expect 3)....

Python的argparse库使用详解

argparse是python标准库里面用来处理命令行参数的库 命令行参数分为位置参数和选项参数: 位置参数就是程序根据该参数出现的位置来确定的 如:[root@openstack...

Python中的Classes和Metaclasses详解

类和对象 类和函数一样都是Python中的对象。当一个类定义完成之后,Python将创建一个“类对象”并将其赋值给一个同名变量。类是type类型的对象(是不是有点拗口?)。 类对象是可调...