python 错误 Could not find a suitable TLS CA certificate bundle, invalid path 解决方法

最近用python写了一个爬虫的代码,源程序可以正常运行,但是打包会就会报错"Could not find a suitable TLS CA certificate bundle":

查了一下原因,因为爬虫都要用到

import requests

requests库打包之后就会出现"Could not find a suitable TLS CA certificate bundle"问题,、打包之后按认路径无法找到cacert.pem文件

其实在打包程序的时候很容易出现这样的问题,requests库中还包含很多其它相关库和文件,在源程序中会自动调用,不用在开头引用,但是打包之后exe程序认只调用requests。

第一想法是既然在这个目录下找不到这个文件,那我手动将这个文件拷过去是不是就可以了,将 python安装路径\Lib\site-packages\requests\cacert.pem文件复制,准备拷贝时发现ME12121962文件(打包生成文件)下并没有requests文件,我自己建了一个

结果仍然报错

解决办法:手动将所需库/文件添加到程序的引用中

1.将 python安装路径\Lib\site-packages\requests\cacert.pem复制到包含您的exe的目录

复制到exe所在文件下:

2.在代码中加入以下命令进行调用

import os
import sys
os.environ['REQUESTS_CA_BUNDLE'] =  os.path.join(os.path.dirname(sys.argv[0]),'cacert.pem')

然后重新打包就可以了

 

 

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...