繁体   English   中英

python请求错误和cx_freeze

[英]python requests error and cx_freeze

我试图cx_freeze依赖于请求的python应用程序,但出现以下错误:

  File "C:\Python33\lib\site-packages\requests-2.5.3-py3.3.egg\requests\api.py",
 line 65, in get
    return request('get', url, **kwargs)
  File "C:\Python33\lib\site-packages\requests-2.5.3-py3.3.egg\requests\api.py",
 line 49, in request
    response = session.request(method=method, url=url, **kwargs)
  File "C:\Python33\lib\site-packages\requests-2.5.3-py3.3.egg\requests\sessions
.py", line 461, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Python33\lib\site-packages\requests-2.5.3-py3.3.egg\requests\sessions
.py", line 573, in send
    r = adapter.send(request, **kwargs)
  File "C:\Python33\lib\site-packages\requests-2.5.3-py3.3.egg\requests\adapters
.py", line 431, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: [Errno 2] No such file or directory

这个简单的脚本一切正常:

import requests
url = 'https://test.com'
try:
    res = requests.get(url, headers={'User-Agent': self.user_agent},timeout=10)
    redirecturl = res.url
    code = res.status_code
except requests.exceptions.ConnectTimeout as err:
    print ("error -%s" %err)

cx_freeze setup.py

from cx_Freeze import setup, Executable
import sys

build_exe_options = {"package":["requests"],"excludes" : "[Tkinter]"}
base = None
if sys.platform == "win32":
    none = "Win32GUI"

setup(
    name ="PageFound",
    version ="1.0",
    description ="PageFound Tool",
    options = {"buid_exe": build_exe_options},
    executables=[Executable("PageFound.py")])

如果有人可以给我小费,将不胜感激。

找不到用于验证ssl证书所需的文件,因为在冻结它时,该特定文件不会随构建一起冻结。 然后,请求会在其默认位置查找它,而在此处找不到它。 这是因为当您运行脚本而不冻结时,它可以正常工作,但是当目录更改时,它就不能运行。 有人别人把它比我更清楚:

查看请求源,看来您可以将路径传递到cacert.pem文件作为verify = path,而不是verify = True。 因此,您无需修改​​请求即可工作。

您可以传递文件的路径以包含在cx_Freeze选项( docs )的include-files参数中。 您可以从请求中找到路径,因此在冻结它的setup.py中应该可以使用以下方法:

导入requests.certs

build_exe_options = {“ include_files”:[(requests.certs.where(),'cacert.pem')]}

...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM