Python 3.3.4 Cx_Freeze ImportError: DLL load failed: 找不到指定的模块

Posted

技术标签:

【中文标题】Python 3.3.4 Cx_Freeze ImportError: DLL load failed: 找不到指定的模块【英文标题】:Python 3.3.4 Cx_Freeze ImportError: DDL load failed: The specified module could not be found 【发布时间】:2014-02-22 03:22:22 【问题描述】:

我正在尝试使用 cx_Freeze 来转换我在 Python 3.3.4 中编写的 .py 文件。在运行构建命令时,我收到以下错误。

C:\Python33>c:\python33\python.exe setup.py build
running build
running build_exe
Traceback (most recent call last):
  File "setup.py", line 22, in <module>
    executables=executables
  File "c:\python33\lib\site-packages\cx_Freeze\dist.py", line 365, in setup
    distutils.core.setup(**attrs)
  File "c:\python33\lib\distutils\core.py", line 148, in setup
dist.run_commands()
File "c:\python33\lib\distutils\dist.py", line 930, in run_commands
self.run_command(cmd)
  File "c:\python33\lib\distutils\dist.py", line 949, in run_command
cmd_obj.run()
  File "c:\python33\lib\distutils\command\build.py", line 126, in run
self.run_command(cmd_name)
  File "c:\python33\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "c:\python33\lib\distutils\dist.py", line 949, in run_command
cmd_obj.run()
File "c:\python33\lib\site-packages\cx_Freeze\dist.py", line 234, in run
metadata = metadata)
File "c:\python33\lib\site-packages\cx_Freeze\freezer.py", line 101, in __init
__
for n in self._GetDefaultBinPathExcludes() + binPathExcludes]
File "c:\python33\lib\site-packages\cx_Freeze\freezer.py", line 235, in _GetDe
faultBinPathExcludes
import cx_Freeze.util
ImportError: DLL load failed: The specified module could not be found.

我没有正确安装cx_freeze吗?还是我运行它都错了? 非常感谢您的帮助。 谢谢

【问题讨论】:

您是否获得了与您的 Python 版本相对应的正确 32/64 位版本? @ThomasK 是的,我已经尝试了 64 位和 32 位。 这里有完全相同的问题,运行 32 位 python 2.7.9 和 cx_Freeze/util.pyd。 Util.pyd 在 cx_Freeze 目录中并且是世界可读的。 pip list 显示 cx-Freeze (4.3.4) 我在 Windows 7 64 位下运行。 【参考方案1】:

嗯,我找到了适合我的答案。

原来在 cx_Freeze 4.3.4 中有一个错误,降级到 4.3.3 为我解决了这个问题。

【讨论】:

【参考方案2】:

尝试使用 Dependency Walker 之类的工具打开 util.pyd 文件,以检查错误是否是由于缺少依赖项造成的。我发现它试图从我没有安装在我的机器上的 Microsoft Visual C++ 2010 运行时加载 msvcr100.dll。如果这也是您的错误的根源,您可以尝试运行x86 / x64 安装程序以查看它是否解决了它(您想选择与您的 Python 安装架构而不是您的操作系统相匹配的那个)。

【讨论】:

以上是关于Python 3.3.4 Cx_Freeze ImportError: DLL load failed: 找不到指定的模块的主要内容,如果未能解决你的问题,请参考以下文章

Python cx_Freeze 错误“没有名为 'cx_Freeze.util' 的模块”

为啥 Python 3 的 cx_freeze 将一个项目打包成 8000+ 个文件,而 Python 2 的 cx_freeze 将同一个项目打包成 25 个文件?

利用cx_freeze打包python程序

尝试使用 cx_Freeze 编译时 Python 崩溃

Python cx_freeze 构建错误

Python 3.5.3 上的 cx_Freeze 错误