python - py2exe 因 pandas 导入失败

标签 python py2exe enthought canopy

我有一个 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 安装有什么建议吗?

最佳答案

事实证明,解决方案只是重置递归限制。所以我将这些行添加到我的 setup.py 文件中:

import sys
sys.setrecursionlimit(3000)

现在 pandas 导入工作正常了。

关于python - py2exe 因 pandas 导入失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34229722/

相关文章:

python - 如何修复 IPython 的 "ImportError: no module named shell"错误

python - Py2exe (Python Pygame) - 难道没有更简单的方法吗?

numpy - 确保 numpy 在 mac pro 上使用 MKL 库

python - pyinstaller错误: cannot find scipy (No module named _ufuncs_cxx)

python - Scrapy 从文件中读取 URL 列表以进行抓取?

python - Django 和 Django 奥斯卡

python - Django 将 Haystack 荧光笔结果传递给 View

windows - 如何建立PyQT项目?

py2exe - 使python程序可执行

python - 使用不带 GUI 的 Canopy