繁体   English   中英

Py2exe中的AttributeError

[英]AttributeError in Py2exe

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

也许现在您的反馈意见可以使我们更加清晰。

Python 3.4.2; py2exe 0.9.2.0

熊猫遇到了同样的问题,但是在更新到最新版本后,我开始使用它了。

看来此错误已得到解决,并且已在Pandas 15.2中得到解决https://github.com/pydata/pandas/issues/8602

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

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

原始:导入pywintypes pywintypes。 import_pywin32_system_module (“ pythoncom”,globals())

更改为:从pywintypes import import_pywin32_system_module import_pywin32_system_module (“ pythoncom”,globals())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM