2015-04-15 3 views
2

Я хотел использовать плагин python для twitter под названием tweepy.Py2exe, Runtimeerror с tweepy

в моем файле main.py я только что импортировали tweepy

import tweepy 

Моя установка-файл выглядит следующим образом:

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

Когда я выполнить питон 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]) 

Кто-нибудь знает способ выхода из этого цикла?

ответ

1

There seems to be a bug в версии py2exe, где модуль six.moves.urllib.parse попадает в бесконечный цикл рекурсии, пока не достигнет максимальной глубины.

Один из способов обойти это, если вы на самом деле не нужен модуль, чтобы исключить модуль в вашем setup.py:

options={ 
    "py2exe": { 
     "includes": ["sip", "tweepy"], 
     "excludes": ["six.moves.urllib.parse"] 
    } 
} 
+0

Я использовал подобный твиттер плагин прямо сейчас. Но я проверил ваше решение, и это сработало, спасибо – mimo

 Смежные вопросы

  • Нет связанных вопросов^_^