【问题标题】:AttributeError in Py2exePy2exe 中的属性错误
【发布时间】:2014-12-10 18:55:22
【问题描述】:

我使用py2exe 使我的py 文件可执行。我的setup.py如下:

from distutils.core import setup
import py2exe

setup(windows=['main.py'])

当我尝试运行 main.exe 时,我收到一个错误并被引用到 main.log,内容如下:

Traceback (most recent call last):
  File "main.py", line 20, in <module>
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1191, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1161, in _load_backward_compatible
  File "C:\Python34\lib\site-packages\pandas\__init__.py", line 7, in <module>
    from . import hashtable, tslib, lib
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1191, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1161, in _load_backward_compatible
  File "<loader>", line 10, in <module>
  File "<loader>", line 6, in __load
  File "pandas\tslib.pyx", line 2839, in init pandas.tslib (pandas\tslib.c:79846)
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1191, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1161, in _load_backward_compatible
  File "<loader>", line 10, in <module>
  File "<loader>", line 6, in __load
  File "pandas\algos.pyx", line 64, in init pandas.algos (pandas\algos.c:179610)
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1191, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1161, in _load_backward_compatible
  File "<loader>", line 10, in <module>
  File "<loader>", line 6, in __load
  File "pandas\lib.pyx", line 1, in init pandas.lib (pandas\lib.c:77889)
AttributeError: 'module' object has no attribute '__pyx_capi__'

我的main.py 文件 (import pandas as pd) 中的第 20 行似乎触发了该问题。这种类型的错误在拉取请求here 中被引用,他们建议添加一个空白__init__.py 文件。我这样做了,得到了同样的结果。我发现一篇评论很好的帖子here(不直接处理py2exe)表明这可能是由于相互顶级导入或循环依赖。这个问题似乎是众所周知的,并且在过去一年中至少两次在 Stackoverflow 上被提及(例如:herehere)但没有给出明确的解决方案。

也许我们现在可以通过您的反馈得到更清晰的信息。

Python 3.4.2; py2exe 0.9.2.0

【问题讨论】:

    标签: python numpy pandas py2exe attributeerror


    【解决方案1】:

    在使用 pandas 时遇到了同样的问题,但我在更新到最新版本后可以正常工作。

    这个错误似乎最近得到解决,并在 Pandas 15.2 中得到解决 https://github.com/pydata/pandas/issues/8602

    【讨论】:

      【解决方案2】:

      我在使用 Python 3.4.4 时遇到了同样的错误。

      我的解决方案是修复 C:\Pythob34\lib\site-packagespythoncom.py 中的导入语句。

      原文: 导入 pywintypes pywintypes.import_pywin32_system_module("pythoncom", globals())

      改为: 从 pywintypes 导入 import_pywin32_system_module import_pywin32_system_module("pythoncom", globals())

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多