当我拥有它们时,Py2exe 抱怨缺少 dll?
Posted
技术标签:
【中文标题】当我拥有它们时,Py2exe 抱怨缺少 dll?【英文标题】:Py2exe complains about missing dll when I have them? 【发布时间】:2011-11-07 01:23:19 【问题描述】:尝试使用 py2exe 将 python 程序构建到 Windows .exe 时出现错误,并且我的程序未构建。它说我缺少一些模块,例如 numpy 的。我确定 numpy 安装正确。为什么它说我缺少模块?我该如何解决?
*** copy dlls ***
copying C:\Python27\lib\site-packages\py2exe\run.exe -> C:\Users\jchan1\Desktop\copdata\dist\dplotNew.exe
The following modules appear to be missing
['Carbon', 'Carbon.Files', 'Image', 'Numeric', 'Pyrex.Compiler.Main', '__svn_version__',
'_curses', '_scproxy', '_transforms', 'configparser', 'copyreg', 'core.abs', 'core.max',
'core.min', 'core.round', 'fcompiler.FCompiler', 'fcompiler.show_fcompilers', 'gobject',
'mpl_toolkits.natgrid', 'nose', 'nose.plugins', 'nose.plugins.base', 'nose.plugins.builtin',
'nose.plugins.errorclass', 'nose.plugins.manager', 'nose.tools', 'nose.util', 'numarray',
'numpy_distutils', 'numpy_distutils.command.build_flib', 'numpy_distutils.command.cpuinfo',
'numpy_distutils.cpuinfo', 'numpy_distutils.fcompiler', 'numscons', 'numscons.core.utils',
'pkg_resources', 'projections.get_projection_class', 'projections.get_projection_names',
'projections.projection_factory', 'pyemf', 'qt', 'scipy', 'setuptools', 'setuptools.command',
'setuptools.command.bdist_rpm', 'setuptools.command.develop', 'setuptools.command.egg_info',
'setuptools.command.install', 'setuptools.command.sdist', 'sitecustomize', 'testing.Tester',
'usercustomize', 'win32api', 'win32con', 'win32pdh', 'win32pipe', 'wx', 'numpy.absolute',
'numpy.arccos', 'numpy.arccosh', 'numpy.arcsin', 'numpy.arcsinh', 'numpy.arctan', 'numpy.arctanh',
'numpy.bitwise_and', 'numpy.bitwise_or', 'numpy.bitwise_xor', 'numpy.bool_', 'numpy.ceil',
'numpy.conjugate', 'numpy.core.absolute', 'numpy.core.add', 'numpy.core.cdouble',
'numpy.core.complexfloating', 'numpy.core.conjugate', 'numpy.core.csingle', 'numpy.core.double',
'numpy.core.exp', 'numpy.core.float64', 'numpy.core.float_', 'numpy.core.inexact',
'numpy.core.intc', 'numpy.core.integer', 'numpy.core.isfinite', 'numpy.core.isinf',
'numpy.core.isnan', 'numpy.core.log', 'numpy.core.maximum', 'numpy.core.multiply',
'numpy.core.number', 'numpy.core.signbit', 'numpy.core.single', 'numpy.core.sqrt', 'numpy.cosh',
'numpy.divide', 'numpy.e', 'numpy.fabs', 'numpy.floor', 'numpy.floor_divide', 'numpy.fmod',
'numpy.greater', 'numpy.hypot', 'numpy.invert', 'numpy.isinf', 'numpy.left_shift', 'numpy.less',
'numpy.log', 'numpy.logical_and', 'numpy.logical_not', 'numpy.logical_or', 'numpy.logical_xor',
'numpy.maximum', 'numpy.minimum', 'numpy.negative', 'numpy.not_equal', 'numpy.power',
'numpy.remainder', 'numpy.right_shift', 'numpy.sign', 'numpy.sinh', 'numpy.tan', 'numpy.tanh',
'numpy.true_divide']
*** binary dependencies ***
Your executable(s) also depend on these dlls which are not included,
you may or may not need to distribute them.
Make sure you have the license if you distribute any of them, and
make sure you don't distribute files belonging to the operating system.
OLEAUT32.dll - C:\WINDOWS\system32\OLEAUT32.dll
USER32.dll - C:\WINDOWS\system32\USER32.dll
IMM32.dll - C:\WINDOWS\system32\IMM32.dll
SHELL32.dll - C:\WINDOWS\system32\SHELL32.dll
ole32.dll - C:\WINDOWS\system32\ole32.dll
WINMM.dll - C:\WINDOWS\system32\WINMM.dll
fftpack_lite.pyd - C:\Python27\lib\site-packages\numpy\fft\fftpack_lite.pyd
COMDLG32.dll - C:\WINDOWS\system32\COMDLG32.dll
ADVAPI32.dll - C:\WINDOWS\system32\ADVAPI32.dll
msvcrt.dll - C:\WINDOWS\system32\msvcrt.dll
WS2_32.dll - C:\WINDOWS\system32\WS2_32.dll
WINSPOOL.DRV - C:\WINDOWS\system32\WINSPOOL.DRV
GDI32.dll - C:\WINDOWS\system32\GDI32.dll
MSVCP90.dll - C:\Python27\DLLs\MSVCP90.dll
KERNEL32.dll - C:\WINDOWS\system32\KERNEL32.dll
COMCTL32.dll - C:\WINDOWS\system32\COMCTL32.dll
【问题讨论】:
你安装了哪个版本的python? 确保您对 py2exe 和其他所有内容使用相同版本的 python,即软件包安装在与您使用的相同的 python 版本中, python 和 py2exe 可能没有共享您的 pythonpath。检查 numpy DLL 是否在您的路径中。 【参考方案1】:尝试将 DLL 放在 Windows 文件夹中。还将所需的模块复制到与您尝试转换为 exe 的 Python 文件之一相同的文件夹中。
【讨论】:
以上是关于当我拥有它们时,Py2exe 抱怨缺少 dll?的主要内容,如果未能解决你的问题,请参考以下文章