Shiboken2 ... ImportError: DLL load failed: The specified procedure could not be found

Shiboken2 ... ImportError: DLL load failed: The specified procedure could not be found

我最近 运行 遇到了一个来自 Shiboken2 的导入错误,这是我以前的可执行文件没有的。我有一个在 PyCharm 中构建的应用程序,我用 [=42 为它构建了一个 .exe =]。我已经尝试了 Python 的每一个最新版本,但现在我 100% 确信这不是我拥有的 Python 版本,这就是问题所在。特别是,因为当我 运行 源代码时应用程序 运行 是完美的,但是当我使用我的 Setup.py 脚本来构建它,当我尝试 运行 它时,我不断遇到以下问题:

这是我的 Setup.py 脚本的样子:

import sys
import os
from cx_Freeze import setup, Executable

sys.path.append(os.path.abspath("./src/"))
sys.path.append(os.path.abspath("./src/gui/rc/"))
sys.path.append(os.path.abspath("./database/component_actions"))


# Dependencies are automatically detected, but it might need
# fine tuning.
buildOptions = {
    "packages": [
                # Facile sub-packages
                 "src.gui",
                 "src.qt_models",
                 "src.data",
                 "src.libs",
                 "src.tguiil",
                 "src.graphics",
                 "src.tools",
                 ],

    "includes": ["scipy.sparse.csgraph._validation",
                 "scipy.ndimage._ni_support",
                 "scipy._distributor_init",
                 ],

    "include_files": ["database/",
                      "src/tguiil/",
                      "src/data/"
                      ],

    "excludes": ["scipy.spatial.cKDTree",
                 ]
}

installOptions = {"skip_build":True}

base = None

# Uncomment for GUI applications to NOT show cmd window while running.
if sys.platform =='win32':
    base = 'Win32GUI'

executables = [
    Executable(script = 'src/facile.py', base=base, targetName = 'facile.exe', icon = 'resources/facade_logo_256.ico')
]

setup(name='***',
      version = '***',
      description = '***',
      options = {
          "build_exe": buildOptions,
          "install_exe": installOptions,
      },
      executables = executables)

(抱歉,我试图隐藏一些信息,所以这就是我使用 *** 的原因)

问题开始时间: 我将 Shiboken 2 更新到版本 5.15.0,但我知道我需要更新 Pyside2,所以我不明白这个更新的包如何影响我的可执行文件构建。

如果需要,我可以显示我所有的依赖关系,但我认为这不是问题,因为正如我之前所说,当我 运行 它在 PyCharm 上时,源代码工作正常,只有当我构建可执行文件并尝试 运行 它是否有这个问题。也许这是一个路径问题?或者我需要在 setup.py 中包含一些依赖项? B.T.W。我正在使用 Python 3.7.4 32 位的虚拟环境作为解释器。

我认为这个问题源于我的环境。我真的没有一个坚定的答案,因为我按照以下顺序做了很多事情:

  1. 下载 PyCharm 2020 并删除 PyCharm 2019。
  2. 删除了我所有的过去Python packages/executables/dependencies,删除了我的旧虚拟环境和旧构建文件夹。
  3. 重新安装了 Python 3.7.4 并检查了 PATH 选项卡。
  4. 通过 PyCharm 2020 年的 IDE.
  5. 在虚拟环境中添加了 Python 解释器 Python 3.7.4
  6. Pip 从我的 requirements.txt.
  7. 安装了所有必要的依赖项

我确保在每个步骤之间给 PyCharm 足够的时间来思考(加载),完成后我构建了可执行文件并且它 运行 正确。

我希望这对遇到类似问题的任何人有所帮助。