PyDev在2个变量中有1个从导入中显示未定义的变量

时间:2013-03-20 12:35:51

标签: python pydev

问题

我有以下结构:

home.py
logic/brains/databeam.py

内部databeam.py我有:

engine  = create_engine(databaseSettings(), pool_size = 20, max_overflow = 0)
Session = sessionmaker(bind = engine)
session = Session()

boom = 'boom'

home.py

from logic.brains.databeam import session, boom

print session
print session.query()
print boom

一切都按预期运作,但日食上的PyDev向我展示了这一点:

red source

error message

这适用于......

我没有使用from logic.brains.databeam import session as session, boom as boom,而是执行此操作:

import logic.brains.databeam
session = logic.brains.databeam.session
boom    = logic.brains.databeam.boom

但这似乎不整洁,是否有更好的方式向PyDev展示导入是否有效?

4 个答案:

答案 0 :(得分:2)

使用 PyDev 8.1.0.202012051215 在 Eclipse 2019-09 中产生相同错误的非常简单的脚本:

٢٠٢١-٠٢-٠٤

似乎 PyDev 没有推断使用 globals().update() 导出的东西。以下是等效的并且有效(在这种情况下):

import re
flag = re.ASCII

答案 1 :(得分:1)

我发现合理的解决方案是完全抑制PyDev中的此类错误。我知道这不是完美的,但是我遇到过的最好的一个。

如何更改此设置:

pydev settings change

答案 2 :(得分:1)

@Lars,我无法评论以前的帖子,所以我会在这里发表评论。 如果您有一个错误“来自导入的未定义变量”,如@Morgan Wilde查询,您应该在选项卡Undefined not Imports下的该选项上添加警告。

答案 3 :(得分:1)

作为解决问题的一种方法,我使用了:

enter image description here

然后一堆

enter image description here

enter image description here

会出现。隐藏它们:

enter image description here