我有一个python脚本,我想用py2exe制作成可执行文件。当我尝试导入pandas时它失败了(这实际上就是我在示例中失败的脚本):
import pandas
回溯看起来像:
File "c:\users\***\appdata\local\enthought\canopy\user\lib\site_packages\py2exe\mf.py", line 724, in import_hook return Base.import_hook(self,name,caller,fromlist,level)
RuntimeError: maximum recursion depth exceeded
我怀疑这个问题可能与Canopy Python发行版有关,但我没有一个简单的替代方法来测试。
这是我的设置文件:
distutils.core.setup(
options = {
"py2exe": {
"includes": ["pandas", "scipy"],
"packages": ["matplotlib", "pytz"],
"dll_excludes": ["MSVCP90.dll", ....],
}
}
data_files=matplotlib.get_py2exe_datafiles(),
windows=['just_pandas.py']
)
我有两个问题。 1)有没有办法让pandas导入与py2exe一起工作? 2)如果我无法使用Canopy Python发行版解决此问题,那么对于Windows的替代Python安装有何建议?
答案 0 :(得分:1)
事实证明,解决方案只是重置递归限制。所以我将这些行添加到我的setup.py文件中:
import sys
sys.setrecursionlimit(3000)
现在pandas导入工作正常。