[英]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上至少被提及过两次(例如: here和here ),但是没有给出明确的解决方案。
也许现在您的反馈意见可以使我们更加清晰。
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.