ImportError: не может импортировать имя MAXREPEAT с cx_Freeze

Я запускаю проблему с cx_Freeze при запуске замороженного приложения (отлично работает без разморозки).

При запуске программы это приводит к следующей трассировке:

 Traceback (most recent call last): File "/usr/local/lib/python2.7/site-packages/cx_Freeze/initscripts/Console.py", line 27, in <module> exec code in m.__dict__ File "PythonApp/mainframe.py", line 3, in <module> File "/usr/local/lib/python2.7/site-packages/dbus/__init__.py", line 103, in <module> from dbus._dbus import Bus, SystemBus, SessionBus, StarterBus File "/usr/local/lib/python2.7/site-packages/dbus/_dbus.py", line 39, in <module> from dbus.bus import BusConnection File "/usr/local/lib/python2.7/site-packages/dbus/bus.py", line 39, in <module> from dbus.connection import Connection File "/usr/local/lib/python2.7/site-packages/dbus/connection.py", line 27, in <module> import threading File "/usr/local/lib/python2.7/threading.py", line 44, in <module> module='threading', message='sys.exc_clear') File "/usr/local/lib/python2.7/warnings.py", line 57, in filterwarnings import re File "/usr/local/lib/python2.7/re.py", line 105, in <module> import sre_compile File "/usr/local/lib/python2.7/sre_compile.py", line 14, in <module> import sre_parse File "/usr/local/lib/python2.7/sre_parse.py", line 17, in <module> from sre_constants import * File "/usr/local/lib/python2.7/sre_constants.py", line 18, in <module> from _sre import MAXREPEAT ImportError: cannot import name MAXREPEAT 

Я на Linux, используя версию python 2.7.4, которую я построил из источника, и импортирую _sre из приглашения, и я могу получить доступ к константе MAXREPEAT .

Обычно это происходит до cx_Freeze не вытягивая все в library.zip и может быть исправлено путем явного указания модуля в cx_Freeze включения cx_Freeze и является решением этого аналогичного вопроса , но это не помогло.

Этот _sre модуль кажется странным .. в файле _sre нет _sre файла, но из-за этой ошибки кажется, что он может его найти, однако он не может импортировать этот символ? Разумеется, если модуль не был там, это было бы ошибкой « No module named _sre ». Или, возможно, круговой импорт, но _sre stub не имеет импорта.

Что странно, я тоже не могу найти файл – этот динамический динамический модуль создается при импорте?

 find /usr/local/lib/python2.7 -name "_sre*" 

ничего не возвращает, и импортированный модуль _sre также не имеет атрибута __file__ , поэтому я не знаю, как убедиться, что он включен, поскольку он отображается как встроенный.

 >>> import _sre >>> _sre.__file__ Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'module' object has no attribute '__file__' >>> repr(_sre) "<module '_sre' (built-in)>" 

Это похоже на этот вопрос, который был задан недавно, но в этом случае он получал ошибку в обычном интерпретаторе, однако для меня это просто в cx_Freeze .

редактировать

Запуск python -v действительно кажется встроенным, поэтому я не уверен, почему cx_Freeze может пропустить его или как я его исправить.

 ... # /usr/local/lib/python2.7/re.pyc matches /usr/local/lib/python2.7/re.py import re # precompiled from /usr/local/lib/python2.7/re.pyc # /usr/local/lib/python2.7/sre_compile.pyc matches /usr/local/lib/python2.7/sre_compile.py import sre_compile # precompiled from /usr/local/lib/python2.7/sre_compile.pyc import _sre # builtin # /usr/local/lib/python2.7/sre_parse.pyc matches /usr/local/lib/python2.7/sre_parse.py import sre_parse # precompiled from /usr/local/lib/python2.7/sre_parse.pyc ... 

6 Solutions collect form web for “ImportError: не может импортировать имя MAXREPEAT с cx_Freeze”

_sre – встроенный модуль , поэтому для него нет файла, но он не имеет атрибута MAXREPEAT в Python 2.7.3:

 >>> import _sre >>> _sre <module '_sre' (built-in)> >>> _sre.MAXREPEAT Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'module' object has no attribute 'MAXREPEAT' 

Мое лучшее предположение заключается в том, что у вашей замороженной копии есть стандартные библиотеки .py модули из Python 2.7.4, но скомпилированный интерпретатор Python из версии 2.7.3 или более ранней версии. Я вижу, что вы работаете из /usr/local – возможно, он собирает более старую версию из /usr .

Я столкнулся с этой проблемой, когда я только что обновился с ubuntu 12.10 до 13.04, и я исправил это, скопировав / usr / bin / python в / path / to / my / env / bin /, и он отлично работал

cp /user/bin/python /path/to/my/env/bin/

или, есть более элегантный способ исправить это ( ссылка ):

mkvirtualenv <existing virtualenv name>

Если все остальное не удается, я получил все, используя это: http://www.kiwisoft.co.uk/blog/2014/08/17/fixed-importerror-cannot-import-name-maxrepeat

У меня была такая же проблема в последнее время. Установка LD_LIBRARY_PATH = решена проблема.

Я использовал cx_freeze 4.3.2 на моей машине win 8 и всегда показывал ImportError: cannot import name MAXREPEAT with cx Freeze если я когда-либо пытался заморозить не встроенный модуль, и как только я скачал версию 4.3.1, он работает , Я могу заморозить все мои программы python 3.3 без каких-либо проблем.

У меня были подобные проблемы в Windows 8 – это была проблема PYTHONPATH. проверьте, существует ли PYTHONPATH, введя следующее в сеанс python:

import os

os.environ [ 'PYTHONPATH']. расщепленный (os.pathsep)

если вы получите ошибку, установите PYTHONPATH с помощью этого подхода.

Как добавить к pythonpath в Windows 7?

  • Как получить индекс с ключом в словаре Python?
  • запросы python в Google App Engine не работают для HTTPS
  • Правильно ли использовать «import __main__»?
  • Извлечь элемент списка в Python
  • Как проверить наличие ключа значения (как определено в одном dict) в другом dict, в Python?
  • Действительно ли эта основная функция работает?
  • Как написать несколько условий if-statement в структуре робота
  • Запись файла .CSV в Python, который работает как для Python 2.7+, так и для Python 3.3+ в Windows
  • Существующее развертывание проекта Django с использованием Apache и Mod_wsgi (windows)
  • Python пишет в файл, возвращает пустой файл
  • Преобразование даты и времени UTC с часовым поясом на локальный
  • Python - лучший язык программирования в мире.