requests.packages.urllib3.exceptions.SSLError:[错误2]没有此类文件或目录

时间:2019-09-15 07:22:50

标签: python python-requests pyinstaller instagram-api

有一些代码,它可以处理原始代码,但是一旦我使用pyinstaller将其转换为可执行文件,我就会得到requests.packages.urllib3.exceptions.SSLError: [Error 2] no such file or directory 它总是与原始代码一起使用,但不适用于pyinstaller

尝试使用来自python 2和python3的请求,并在多台PC上进行了尝试。

我希望将.exe与pyinstaller一起使用时执行代码

4 个答案:

答案 0 :(得分:1)

最后,我找到了一个解决方案,方法是使用certifi来解析“ cacert.pem”证书的完整路径。并在请求中使用它:

import requests
import certifi

req_url = "https://jsonplaceholder.typicode.com/todos/1"
response = requests.get(req_url, timeout=10, verify=certifi.where()).json()
print(response)

如果您使用其他证书或要移至最终二进制文件,也可以将其复制到pyinstaller并将其用于verify参数中。

答案 1 :(得分:0)

发布一些代码,没有它,我会盲目走。但是我可以邀请您,您的代码相对位置(例如./file)中有某处,而所有内容都在原始目录中(原始代码)它可以工作,但是在编译后,程序找不到它

答案 2 :(得分:0)

如果有人有答案或建议某事,请这样做,我需要尽快解决!

答案 3 :(得分:0)

@Sid @Misieq。这是一个示例:

import requests

req_url = "https://jsonplaceholder.typicode.com/todos/1"
response = requests.get(req_url, timeout=10).json()
print(response)

此代码在python3 request_expample.py下有效 但是用pyinstaller用pyinstaller --onefile --clean request_expample.py生成可执行文件后,它显示错误:

Traceback (most recent call last):
  File "requests/packages/urllib3/util/ssl_.py", line 267, in ssl_wrap_socket
FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "requests/adapters.py", line 370, in send
  File "requests/packages/urllib3/connectionpool.py", line 544, in urlopen
  File "requests/packages/urllib3/connectionpool.py", line 341, in _make_request
  File "requests/packages/urllib3/connectionpool.py", line 761, in _validate_conn
  File "requests/packages/urllib3/connection.py", line 238, in connect
  File "requests/packages/urllib3/util/ssl_.py", line 269, in ssl_wrap_socket
requests.packages.urllib3.exceptions.SSLError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "request_expample.py", line 4, in <module>
    response = requests.get(req_url, timeout=10).json()
  File "requests/api.py", line 69, in get
  File "requests/api.py", line 50, in request
  File "requests/sessions.py", line 465, in request
  File "requests/sessions.py", line 573, in send
  File "requests/adapters.py", line 431, in send
requests.exceptions.SSLError: [Errno 2] No such file or directory
[4537] Failed to execute script request_expample
相关问题