ImportError: Der Name MAXREPEAT kann mit cx_Freeze nicht importiert werden

Ich habe ein Problem mitcx_Freeze beim Ausführen einer eingefrorenen Anwendung (funktioniert einwandfrei ungefroren).

Wenn das Programm ausgeführt wird, führt dies zu folgendem Traceback:

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

Ich arbeite unter Linux mit einer Version von Python 2.7.4, die ich aus dem Quellcode erstellt und importiert habe_sre Von einer Eingabeaufforderung aus funktioniert und ich kann auf die zugreifenMAXREPEAT Konstante.

Dies liegt in der Regel ancx_Freeze nicht alles hineinziehenlibrary.zip und kann durch explizite Benennung des Moduls in behoben werdencx_Freezes Setup-Include-Liste und ist dieLösung für diese ähnliche Frage, aber das hat hier nicht geholfen.

Diese_sre Modul scheint komisch .. es gibt keine_sre Datei in derlibrary.zip generiert, aber aufgrund dieses Fehlers kann es anscheinend gefunden werden, aber das Symbol kann nicht importiert werden? Wenn das Modul nicht da wäre, wäre es sicherlich ein "No module named _sremsgstr "" "Fehler. Oder möglicherweise ein zirkulärer Import, aber_sre stub hat keine Importe.

Seltsamerweise kann ich die Datei auch nicht finden - wird dieses Modul beim Importieren dynamisch erstellt?

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

gibt nichts zurück und das importiert_sre Modul hat keine__file__ Attribut entweder, so habe ich keine Ahnung, wie Sie sicherstellen, dass es enthalten ist, wie es als eingebaute angezeigt wird.

>>> 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)>"

Das istähnlich dieser Frage auch, was kürzlich gefragt wurde, aber in diesem Fall bekam er den Fehler im regulären Dolmetscher, aber für mich ist es nur incx_Freeze.

bearbeiten

Laufenpython -v scheint es eine eingebaute zu sein, also bin ich mir nicht sicher warumcx_Freeze kann es vermissen, oder wie ich es beheben würde.

...
# /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
...

Antworten auf die Frage(6)

Ihre Antwort auf die Frage