cx_freeze用sympy返回无效语法

时间:2014-01-09 17:07:43

标签: python-3.x cx-freeze sympy

我正在尝试使用cx_freeze将python代码转换为windows .exe。当我使用命令行运行setup.py时,它像往常一样运行,然后只返回无效的语法。该程序使用tkinter模块以及sympy,我相信后者会导致问题。任何解决方案将不胜感激。以下是该流程停止前的最后一部分。

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

1 个答案:

答案 0 :(得分:4)

SymPy中exec的兼容性(实际上是mpmath,包含在SymPy中)使用的文件只在Python 2中运行,这是Python 3中无效的语法,而文件只在Python 3中运行,语法无效在Python 2中。您可以放心地忽略另一个。如果cx_freeze拒绝跳过此文件,您可以安全地删除它。