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_Freeze
s 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 _sre
msgstr "" "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
.
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
...