我尝试在一个冻结的应用程序中使用卓越请求库。代码在解释时可以正常工作,但是当我生成dist可执行文件时,它就停止工作了。在
我尝试过这个解决方案,但它不起作用(Requests library: missing file after cx_freeze)
我的设置.py文件:
import esky.bdist_esky
from esky.bdist_esky import Executable as Executable_Esky
from cx_Freeze import setup, Executable
from myapp import VERSION
import requests.certs
packages = [
'PIL',
'_winreg',
'esky',
]
includes = [
'PySide',
'sys',
'os',
'datetime',
'threading',
'Queue',
'uuid',
'requests',
]
excludes = [
'TKinter',
'tcl',
'ttk',
]
include_files =["icon-16px.ico",
"icon-32px.ico",
"logo-t-160x56.png",
]
setup(
scripts = [
Executable_Esky(
"myapp.py",
gui_only = False,
icon = "icon-16px.ico",
),
],
data_files = include_files,
options={"build_exe":
{"packages":packages,
"includes": includes,
"include_files": include_files + [(requests.certs.where(),'cacert.pem')],
"excludes": excludes,
"optimize": 2,
"icon":"icon-16px.ico",
},
"bdist_esky":{
'freezer_module':"cxfreeze",
'includes': includes,
'excludes': excludes,
},
},
executables = [Executable(script="myapp.py",base="Win32GUI")],
)
回溯:
^{pr2}$
或者你可以用
我在github(https://github.com/kennethreitz/requests/issues/557#issuecomment-6420819)上看到了这个问题。谢谢你Martjin Pieters的建议。在
首先,我把卡塞特·佩姆文件放在我的项目文件夹中,然后我将其包含在冻结的应用程序中:
最后,您必须在每个POST或GET中使用
^{pr2}$requests
指示此证书,如下所示:XD公司
相关问题 更多 >
编程相关推荐