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 位的虚拟环境作为解释器。
我认为这个问题源于我的环境。我真的没有一个坚定的答案,因为我按照以下顺序做了很多事情:
- 下载 PyCharm 2020 并删除 PyCharm 2019。
- 删除了我所有的过去Python packages/executables/dependencies,删除了我的旧虚拟环境和旧构建文件夹。
- 重新安装了 Python 3.7.4 并检查了 PATH 选项卡。
- 通过 PyCharm 2020 年的 IDE.
在虚拟环境中添加了 Python 解释器 Python 3.7.4
- Pip 从我的 requirements.txt.
安装了所有必要的依赖项
我确保在每个步骤之间给 PyCharm 足够的时间来思考(加载),完成后我构建了可执行文件并且它 运行 正确。
我希望这对遇到类似问题的任何人有所帮助。
我最近 运行 遇到了一个来自 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 位的虚拟环境作为解释器。
我认为这个问题源于我的环境。我真的没有一个坚定的答案,因为我按照以下顺序做了很多事情:
- 下载 PyCharm 2020 并删除 PyCharm 2019。
- 删除了我所有的过去Python packages/executables/dependencies,删除了我的旧虚拟环境和旧构建文件夹。
- 重新安装了 Python 3.7.4 并检查了 PATH 选项卡。
- 通过 PyCharm 2020 年的 IDE. 在虚拟环境中添加了 Python 解释器 Python 3.7.4
- Pip 从我的 requirements.txt. 安装了所有必要的依赖项
我确保在每个步骤之间给 PyCharm 足够的时间来思考(加载),完成后我构建了可执行文件并且它 运行 正确。
我希望这对遇到类似问题的任何人有所帮助。