小编典典

Py2exe,带有tweepy的Runtimeerror

python

我想为tweepy使用Twitter的python插件。

在我的main.py文件中,我刚刚导入了tweepy

import tweepy

我的安装文件如下所示:

from distutils.core import setup
import py2exe
setup(
    windows=[{
        "script": 'main.py',
        }],
    options={
        "py2exe": {
            "includes": ["sip", "tweepy"]
        }
    }
)

当我通过命令行执行python setupy.py py2exe时,我得到了这个重复的代码块,直到得到RuntimeError:比较中超过了最大递归深度。

File "C:\Python34\lib\site-packages\py2exe\hooks.py", line 291, in __getattr__
    self.__finder.safe_import_hook(renamed, caller=self)
  File "C:\Python34\lib\site-packages\py2exe\mf3.py", line 138, in safe_import_hook
    self.import_hook(name, caller, fromlist, level)
  File "C:\Python34\lib\site-packages\py2exe\mf3.py", line 120, in import_hook
    module = self._gcd_import(name)
  File "C:\Python34\lib\site-packages\py2exe\mf3.py", line 274, in _gcd_import
    return self._find_and_load(name)
  File "C:\Python34\lib\site-packages\py2exe\mf3.py", line 298, in _find_and_load
    getattr(parent_module, name.rpartition('.')[2])

有谁知道摆脱这种循环的方法吗?


阅读 210

收藏
2020-12-20

共1个答案

小编典典

0.9.2.2py2exe版本中似乎存在一个错误,该错误导致模块six.moves.urllib.parse进入无限递归循环,直到达到最大深度。

如果您真的不需要模块,解决该问题的一种方法是将模块排除在您的之外setup.py

options={
    "py2exe": {
        "includes": ["sip", "tweepy"],
        "excludes": ["six.moves.urllib.parse"]
    }
}
2020-12-20