windows7 / python3.3 / virtualenv / cx_Freeze / Importfehler / MAXREPEAT

windows7/python3.3/virtualenv/cx_Freeze/Import Error/MAXREPEAT

Lassen Sie uns seriell mit Python kommunizieren! Wenn es so wird, denke ich, dass es (wahrscheinlich) üblich ist, Pyserial und Tkinter zu verwenden. Damit ein in Python geschriebenes Programm von allen verwendet werden kann, muss es jedoch in eine Form konvertiert werden, die nicht von der Python-Umgebung abhängt. Daher verwenden wir eine Bibliothek namens cx_Freeze, um Python-Skripte in exe-Dateien zu konvertieren. Ich habe die damals aufgetretenen Fehler und ihre Lösungen zusammengefasst.

Fehler, die beim Importieren von tkinter beim Konvertieren in exe auftreten können

Erstens verursacht das Konvertieren von .py-Dateien in .exe mit cx_Freeze einen Fehler und beendet die Verarbeitung. Es scheint, dass TCL_PARAMETER und TK_PARAMETER, die für die Verwendung von tkinter erforderlich sind, nicht importiert werden können.

Import Error
TCL_PARAMETER

Sie können den Pfad manuell hinzufügen. In meinem Fall war es eine virtuelle Umgebung, in der virtualenv verwendet wurde. Daher werde ich die folgenden zwei Zeilen zu activate.bat hinzufügen.

set "TCL_LIBRARY=C:\Python33\tcl\tcl8.5"
set "TK_LIBRARY=C:\Python33\tcl\tk8.5"

Auf diese Weise können Sie eine "temporäre" Exe-Datei erstellen. Es kann jedoch nicht ausgeführt werden (◠‿◠)

Fall, in dem die exed-Datei nicht gestartet werden kann

Wenn Sie eine bestimmte Python-Version verwenden, wird beim Starten der exe-Datei die folgende Fehlermeldung angezeigt.

Cannot import traceback module.
Exception:cannot import name MAXREPEAT
Original Exception:cannot import name MAXREPEAT

Ich habe es überhaupt nicht verstanden, selbst wenn ich herumgegangen bin, und ich habe mehr als 3 Stunden lang gerungen. Ich habe verschiedene Dinge ausprobiert, aber ich werde zuerst die Lösung schreiben.

Lösungen

Wenn Sie eine Python3-Person sind, aktualisieren Sie auf Python3.3.5. (Es tut mir leid für Python2-Leute, aber ich weiß es nicht) MAXREPEAT kann nicht importiert werden, da es sich um einen Fehler in python3.3.0 handelt. Durch ein Upgrade wird dieser Fehler behoben.


Was ich versucht habe

Es tut mir leid, ich habe es zunächst aus verschiedenen Gründen auf Englisch geschrieben, aber es ist schwierig, es ins Japanische zu übersetzen, daher werde ich es auf Englisch belassen ←

  1. check sre_constants.py, sre_parse.py, sre_compile.py As the first refferece (bottom of this article) says, I tried to modify sre_constants.py, but the file of python33 was different from that of python27, so I couldn't try this solution. Next, I tried the solution mentioned in the second referrence, but it also didn't work.

  2. install cx_Freeze in other ways

  1. change the version of Python the version of my Python3 was 3.3.0, so I changed it to 3.3.5, then it worked...

reference

  1. http://blog.goo.ne.jp/narisawanwan/e/4e936c8a519f3ec2eb1c10e25e8cb39d
  2. http://stackoverflow.com/questions/25316851/maxrepeat-importerror-when-using-cx-freeze-with-python-3-2

Recommended Posts

windows7 / python3.3 / virtualenv / cx_Freeze / Importfehler / MAXREPEAT
Aktivieren Sie Python virtualenv unter Windows
Installieren Sie Python unter Windows + pip + virtualenv
Importfehler, obwohl ich Python installiert habe
Virtualenv funktioniert nicht unter Python 3.5 (Windows)
Importfehler: Kein Modul mit dem Namen 'xxxxx' in Python3
Python-Modul importieren
Python unter Windows
Python Windows-Umgebung
Python-Installation (Windows)
Importieren Sie ein Python-Skript
Python in Virtualenv
Fassen Sie den Python-Import zusammen
[Hinweis] Eine Geschichte über Anaconda und VScode, die Probleme mit dem Python-Importfehler haben
Ich erhalte einen Importfehler mit Python Beautiful Soup
Python nicht implementiert Fehler
Der heutige Python-Fehler: getötet
Python-Installationsmethode Windows
Python aus oder importieren
Import des Python-Originalmoduls
Python ab Windows 7
Python-Fehlerliste (Japanisch)
Python Basic ② in Windows
Installieren Sie Python unter Windows
Importieren Sie tsv mit Python
[Python] Was ist virtualenv?
Installieren Sie Python (für Windows)
[Python] für Anweisungsfehler
Bis Sie Python Virtualenv unter Windows erstellen und Jupyter starten
Importieren Sie einen Fehlerbehebungsdatensatz, wenn Sie Python-Code aus VSCode berühren