小编典典

PyInstaller生成的可执行文件中的Python SSL导入错误

python

我正在尝试分发我创建的Python程序的可执行文件。为此,我正在使用PyInstaller

我将Windows 7 Professional与Python 3.7配合使用,该程序在PyCharm中运行时会成功运行,并产生预期的结果。

如PyInstaller手册中所述,我使用以下命令创建了dist文件夹:

pyinstaller main.py

日志输出指定该过程成功完成。

尝试main.exe从分发文件夹运行时,会产生以下错误:

Traceback (most recent call last):
  File "site-packages\PyInstaller\loader\rthooks\pyi_rth_certifi.py", line 11, i
n <module>
  File "c:\users\tim\anaconda3\envs\timtf2_37\lib\site-packages\PyInstaller\load
er\pyimod03_importers.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "ssl.py", line 98, in <module>
ImportError: DLL load failed: The specified procedure could not be found.
[6236] Failed to execute script pyi_rth_certifi

阅读 224

收藏
2021-01-20

共1个答案

小编典典

所以几个小时后,我设法解决了这个问题。我做了几件事,仍然不确定到底是什么,但这是我完成的分步流程:

  1. 使用Anaconda创建了一个新环境。我已经将Python版本降级为3.6.8,因为我看到提到了与Python 3.7的一些兼容性问题
  2. 安装了所有从我的项目的要求,采用蟒蛇,因为有些提问题,是由于混合使用pipconda
  3. 安装了最新版本的pyinstaller
  4. 激活新环境,并pyinstaller在其中运行main.py带有--hidden-import pyodbc参数的程序脚本。

就是这样,现在已发布的程序可在办公室的所有Windows计算机上运行。

2021-01-20