3
我使用pysvn
作爲Eclipse PyDev項目的一部分。下面的代碼會導致PyDev的抱怨:Eclipse PyDev發現由於pysvn的動態導入而導致的不存在的錯誤
import pysvn
pysvn.ClientError
# ~~~~~~~~~~~ <= Undefined variable from import: ClientError
但它運行得很好,這一點也適用:
>>> import pysvn
>>> pysvn.ClientError
<class 'pysvn._pysvn_2_7.ClientError'>
我相當肯定的原因是下面這段代碼在pysvn.py
:
# ...
elif maj_min == (2,7):
import _pysvn_2_7
_pysvn = _pysvn_2_7
# ...
for key, value in _pysvn.__dict__.items():
if not key.startswith('__'):
globals()[ key ] = value
不知何故,這會拋出PyDev。 (這也難怪,我在想,難道他們有做這樣?)
我知道我可以做CTRL + 和的「未定義varaible」每一次出現選擇@UndefinedVariable
,但我希望有一個更一般的解決方案。
我的問題:我如何在
1)最永久的方式解決這個問題(爲大家,不只是我)
和
2)最實用(對我來說)
萬一它很重要,我在Eclipse 3.7.2上使用PyDev 2.4.0.2012020116。
添加到內置插件不能解決問題。你的第二個建議有效,但我*有興趣從合法的'Undefined variable from import'錯誤中獲取,這也會關閉它們。我寧願單獨使用'@ UndefinedVariable'關閉已知的情況,而不是完全禁用錯誤。 –
有時添加到內置插件需要一些時間,通常約10-30秒。另外請注意,pydev通常只在保存後纔會重新分析代碼,因此編碼幾分鐘並給它一個機會:) – lolopop
已加入窗口>首選項> PyDev>解釋器 - Python>強制Builtins>新建並鍵入'pysvn'。確定並應用並確定。更改文件並保存幾次。稍等片刻。改變更多的東西,再次保存。沒有效果。 –