CX_FREELEEZE Restituisce la sintassi non valida con Sympy
-
21-12-2019 - |
Domanda
Sto cercando di convertire il codice Python in un Windows .exe usando cx_freeze.Quando eseguo il setup.py utilizzando la riga di comando, funziona come al solito e quindi restituisce la sintassi non valida.Il programma utilizza il modulo Tkinter e Sympy e credo che sia quest'ultimo causando il problema.Qualsiasi soluzione sarà molto apprezzata.Di seguito è riportata l'ultima parte del processo prima che si ferma.
deferredImports, namespace = namespace)
File "C:\Python33\lib\site-packages\cx_Freeze\finder.py", line 338, in _Intern
alImportModule
parentModule, namespace)
File "C:\Python33\lib\site-packages\cx_Freeze\finder.py", line 366, in _LoadMo
dule
module.code = compile(codeString, path, "exec")
File "C:\Python33\lib\site-packages\sympy\mpmath\libmp\exec_py2.py", line 2
exec string in globals, locals
^
SyntaxError: invalid syntax
. Soluzione
La compatibilità per Exec in Sympy (in realtà MPMATH, inclusa con Sympy) utilizza un file che viene eseguito solo in Python 2 che non è valido la sintassi in Python 3 e un file eseguito solo in Python 3 che è sintassi non validaIn Python 2. Puoi tranquillamente ignorare l'uno dall'altro.Se CX_Freeze si rifiuta di saltare questo file, è possibile eliminarlo in sicurezza.