py2exe 因 pandas 导入而失败
py2exe fails with pandas import
我有一个 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 时它失败了(这就是我在示例失败脚本中的全部内容):
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 导入工作正常。