python - py2exe - 没有系统模块 'pywintypes'

标签 python windows py2exe pywin32 anaconda

我正在尝试将简单的 Python 脚本转换为 Windows 可执行文件。我的 setup.py 脚本是:

from distutils.core import setup
import py2exe

setup(
    name = "Simple Script",
    options = {
        "py2exe": {
            "dll_excludes" : ["libmmd.dll","libifcoremd.dll","libiomp5md.dll","libzmq.dll"]
        }
    },
    console=['simple_script.py']
)

我已经添加了 dll_excludes,因为它们中的每一个都会导致失败。现在我遇到了一个我无法简单排除的失败。这是错误跟踪:

Traceback (most recent call last):
  File "setup.py", line 12, in <module>
    console=['rules signed.py']
  File "C:\Anaconda\lib\distutils\core.py", line 152, in setup
    dist.run_commands()
  File "C:\Anaconda\lib\distutils\dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "C:\Anaconda\lib\distutils\dist.py", line 972, in run_command
    cmd_obj.run()
  File "C:\Anaconda\lib\site-packages\py2exe\build_exe.py", line 243, in run
    self._run()
  File "C:\Anaconda\lib\site-packages\py2exe\build_exe.py", line 306, in _run
    self.plat_finalize(mf.modules, py_files, extensions, dlls)
  File "C:\Anaconda\lib\site-packages\py2exe\build_exe.py", line 1157, in plat_finalize
    import pythoncom
  File "C:\Anaconda\lib\site-packages\pythoncom.py", line 2, in <module>
    import pywintypes
  File "C:\Anaconda\lib\site-packages\win32\lib\pywintypes.py", line 124, in <module>
    __import_pywin32_system_module__("pywintypes", globals())
  File "C:\Anaconda\lib\site-packages\win32\lib\pywintypes.py", line 98, in __import_pywin32_system_module__
    raise ImportError("No system module '%s' (%s)" % (modname, filename))
ImportError: No system module 'pywintypes' (pywintypes27.dll)

我已经安装了 pywin32 并尝试在我的设置选项中排除“pywintypes27.dll”、“pywintypes”、“pywin”、“pywin.debugger”,但没有成功。还尝试应用我在 SO 上找到的所有其他解决方案,例如将“pythoncom27.dll”、“pythoncomloader27.dll”和“pywintypes27.dll”移动到顶级目录。

没有解决“ImportError: No system module 'pywintypes' (pywintypes27.dll)”问题

最佳答案

我最近安装了 Anaconda,部分原因是我需要 win32com 包,并且不想排除 dll 文件。但是,对我来说同样的问题。

Solution was to copy the DLL files:
pywintypes27.dll
pythoncom27.dll
sitting in:
C:\Anaconda\Lib\site-packages\win32
to
C:\Anaconda\Lib\site-packages\win32\lib

因为查找这些文件的函数在那里查找,而不是在上面的目录中。源文件 pywintypes.py 中的很多注释表明这方面存在问题,可能是由于不同的安装过程。 我在 Anaconda 问题跟踪器上发布了一个问题 here .

关于python - py2exe - 没有系统模块 'pywintypes',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19280894/

相关文章:

python - 将 `Cookie` 放入 `CookieJar`

windows - 什么是 "Cloud OS"?

python - 将简单 Python 脚本转换为 Windows 可执行文件的过程

python - 导入错误: cannot import name chardet

python - 使用 Py2Exe、PyGtk 和 Glade 时缺少 dll

python - 如何使用 python tarfile 模块将文件附加到 tar 文件?

python - 如何区分视差图像的好坏

java - 获取与 COM 端口相关的设备/驱动程序信息?

c++ - 在 Windows 上使用 C/C++ 检查 VPN 的连接性

python - 安装 Django : syntax error 时出错