cx_freeze devolviendo la sintaxis no válida con Sympy
-
21-12-2019 - |
Pregunta
Estoy tratando de convertir el código de Python a un Windows .exe usando CX_Freeze.Cuando ejecuto el setup.py usando la línea de comandos, se ejecuta como de costumbre y luego simplemente devuelve la sintaxis no válida.El programa utiliza el módulo Tkinter, así como Sympy y creo que es este último causando el problema.Cualquier solución será muy apreciada.A continuación se muestra la última parte del proceso antes de que se detenga.
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
Solución
La compatibilidad para la ejecución en Sympy (En realidad MPMAT, que se incluye con Sympy) usa un archivo que solo se ejecuta en Python 2 que es una sintaxis no válida en Python 3 y un archivo que solo se ejecuta en Python 3 que es una sintaxis no válidaEn Python 2. Puedes ignorar la otra en la otra.Si CX_Freeze se niega a omitir este archivo, puede eliminarlo de manera segura.