Python / Spyder - 当变量被定义并显示在环境中时,出现未定义变量错误。即使有错误,代码也能工作

问题描述 投票:0回答:1

在 Python 4.1.5 (IDE:Spyder) 中定义变量时出现奇怪的错误。 但是,即使出现错误,代码运行也没有任何问题!

如您所见,变量

social_cost_of_carbon
存储为变量,但我不断收到该错误,如图1所示(错误写道:未定义名称'social_cost_of_carbon'(Pyflakes E)

我觉得我声明这些变量的方式可能是原因:

def convert_to_var(df):
    desc = []
    val = []  
    
    for i,row in df.iterrows():
        desc.append(i)
        val.append(row) 
        
    return dict(val)

val_dict = convert_to_var(IA)
locals().update(val_dict)

由于代码运行没有任何问题,我没有做任何事情来解决这个问题。我是否需要担心并解决这个问题,或者我是否应该顺其自然并继续而不处理错误,因为代码运行顺利?

提前感谢您。

python environment-variables spyder pyflakes undefined-variable
1个回答
2
投票

Spyder 维护者在这里)正如您所猜测的,问题是您正在代码中使用此行动态创建变量:

locals().update(val_dict)

由于我们的 linter 找不到正确声明该变量的位置,因此它报告该变量未定义。但您可以安全地忽略该消息。

注意:自 Spyder 5.1.0 起,您可以通过在表单

# noqa
有问题的行末尾添加注释来避免 linter 错误。

© www.soinside.com 2019 - 2024. All rights reserved.