首页 > 解决方案 > Code fail with name is not defined 使用 pydev 运行的错误,但从终端运行良好

问题描述

代码不会从 pydev 控制台运行,但是当我在终端中启动 python 时运行良好

m = [{'x1': 8183.79980469, 'x2': 9113.79980469, 'y': None, 'side': 'LH'}, {'x1': 29723.09960938, 'x2': 30653.09960938, 'y': None, 'side': 'LH'}, {'x1': 30657.40039062, 'x2': 31587.40039062, 'y': None, 'side': 'LH'}, {'x1': 30657.4, 'x2': 31587.4, 'y': None, 'side': 'RH'}]
side = 'LH'
[i['x1'] for i in m if i['side'] == side]
Traceback (most recent call last):
  File "/Applications/Eclipse.app/Contents/Eclipse/plugins/org.python.pydev.core_8.1.0.202012051215/pysrc/_pydevd_bundle/pydevd_exec2.py", line 3, in Exec
    exec(exp, global_vars, local_vars)
  File "<console>", line 1, in <module>
  File "<console>", line 1, in <listcomp>
NameError: name 'side' is not defined

我在运行 eclipse 版本的 Mac 上:2020-12 (4.18.0) Build id:20201210-1552,PyDev for Eclipse 8.1.0.202012051215 和 Python 3.8.0

我在这里想念什么?我如何解决它?

标签: pythoneclipsepydev

解决方案


你在说什么控制台?这是调试控制台还是交互式控制台?可以发截图吗?

作为说明,我无法重现它(我在调试控制台和交互式控制台中都对其进行了测试):

交互式控制台中的代码

请注意,如果您在方法中定义了其他内容,您可能会遇到@codewelldev 提到的 Python 问题(https://stackoverflow.com/a/23032799/13911868


推荐阅读