在sympy中调用simplify时出错?

2024-04-20 10:56:33 发布

您现在位置:Python中文网/ 问答频道 /正文

当我的python代码尝试使用simplify时,它显示以下错误。这个问题是在我运行pyparsing的单独代码文件(成功执行)之后出现的。同样的代码以前工作得很好。 编辑:

>>> expression="a+b+z"
>>> t=simplify(expression)
ast.py:4: SyntaxWarning: invalid pattern (**) passed to Regex
  operator = pp.Regex("**").setName("operator")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\sympy\simplify\simplify.py", line 507, in simplify
    expr = sympify(expr)
  File "C:\Python27\lib\site-packages\sympy\core\sympify.py", line 308, in sympify
    from sympy.parsing.sympy_parser import (parse_expr, TokenError,
  File "C:\Python27\lib\site-packages\sympy\parsing\sympy_parser.py", line 11, in <module>
    import ast
  File "ast.py", line 4, in <module>
    operator = pp.Regex("**").setName("operator")
  File "C:\Python27\lib\site-packages\pyparsing.py", line 1920, in __init__
    self.re = re.compile(self.pattern, self.flags)
  File "C:\Python27\Lib\re.py", line 190, in compile
    return _compile(pattern, flags)
  File "C:\Python27\Lib\re.py", line 244, in _compile
    raise error, v # invalid expression
sre_constants.error: nothing to repeat

请建议?你知道吗


Tags: 代码inpyrelibpackageslinesite
1条回答
网友
1楼 · 发布于 2024-04-20 10:56:33

您有一个本地文件ast.py,它将被导入以代替Python的内置^{} module。您应该删除或重命名此文件以避免名称冲突,因为这可能会导致其他模块无法正常工作。你知道吗

此外,本地模块包含以下行,这导致导入时出现异常:

operator = pp.Regex("**").setName("operator")

**不是有效的regular expression。在正则表达式中,*表示“前面表达式的0次或更多次重复”,这在表达式开头没有意义,因为“没有要重复的内容”(正如错误消息所说)。你知道吗

相关问题 更多 >