Python -- 关于ssl的报错

本文介绍了在Ubuntu 16.04系统中使用Python 3.7进行网络爬虫开发时遇到的HTTPS协议支持问题及解决方案。主要原因是Python在编译时未链接SSL库导致无法处理HTTPS请求。通过安装libssl-dev并重新编译Python来解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ubuntu16.04;python3.7

2018/09/19


ssl

import urllib.requset
运行里面urlopen报错:(这可是我第一个小爬虫程序,你就报错???)


#前面报了一大堆错记不住了。。。只有下面这句
urllib.error.URLError: <urlopen error unknown url type: https>

ok,接下来就是解决了。

查询得知:python内置的urllib模块不支持https协议,编译安装python之前没有编译安装类似于openssl这样的SSL库,以至于python不支持SSL

有人说进入python->Module->Setup 去掉四行关于ssl的注释再编译,没什么卵用。。。

直接

apt-get install libssl-dev
cd /usr/bin/Python-3.7.0
#进入你的python连接到的python文件夹里面
.configure
make && make altinstall
#done

### 解决方案 当遇到 `pip install -v -e` 命令报错的情况时,可以尝试以下几种方法来解决问题。 #### 方法一:升级Pip并添加用户权限 如果是因为权限不足导致的错误,可以在命令后面加上 `--user` 参数以避免管理员权限问题。这通常适用于Windows和Linux环境下的用户[^2]: ```bash python -m pip install --user --upgrade pip ``` #### 方法二:更改索引源 对于国内网络环境下可能出现的速度慢或连接失败等问题,可以通过指定清华镜像源的方式来加速下载过程,并且通过设置信任主机选项防止SSL验证错误的发生[^5]: ```bash python -v -e . -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn ``` 这里假设当前目录下有一个setup.py文件用于定义包的信息;如果不是这种情况,则应替换`.`为具体的项目路径或者软件包名称。 #### 方法三:检查Python环境配置 有时也会因为虚拟环境中存在冲突或其他因素造成安装失败。建议先确认使用的Python解释器是否正确无误,以及所处的工作空间是不是预期中的那个。如果是使用Anaconda管理多个版本的话,记得切换至目标环境再执行上述操作。 另外需要注意的是,在某些特殊情况下(比如老旧的操作系统),可能确实会由于pip本身的缺陷而无法正常工作,此时应当考虑更换更高版本的Python发行版连带其自带的新版pip工具一起部署应用[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值