2012-10-10 2 views
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 키를 + 1 할 수있는 실현 "정의되지 않은 가변적이고"각각의 occurance에 @UndefinedVariable을 선택 , 그러나 나는 좀 더 일반적인 해결책이 있기를 바랐다.

내 질문 : 나는 모두를 위해 (

1) 가장 영구적 인 방법으로이 문제를 해결 어떻게 그냥 나에게)

2) 가장 실용적인에게 way (for me)

필자는 이클립스 3.7.2에서 PyDev 2.4.0.2012020116을 사용하고있다.

답변

3

here과 같이 강제 내장 된 기능에 추가해야합니다. 그래도 문제가 해결되지 않으면

, 당신은 편집기를 통해 PyDev의 설정에서이 오류를 해제 할 수 있습니다> 문제가 해결되지 않는 내장 기능에 추가

+0

정의되지 않은 코드 분석>. 두 번째 제안은 효과가 있지만, 합법적 인 '가져 오기에서 정의되지 않은 변수'오류를 얻는 데 관심이 있으며, 이러한 오류도 해제됩니다. 나는 오류를 완전히 비활성화하는 것보다는 @@ UndefinedVariable'을 사용하여 알려진 사례를 개별적으로 해제하고 싶습니다. –

+0

가끔 내장을 추가하는 데 약간의 시간이 필요하며 대개 10-30 초 정도 소요됩니다. 또한 pydev는 저장 한 후에 만 ​​코드를 다시 분석하므로 몇 분 후에 코드를 작성하고 기회를 주어야합니다 : – lolopop

+0

Window> Preferences> PyDev> Interpreter - Python> Forced Builtins> 새로운 형식의'pysvn'. 확인을 누른 다음 적용 및 확인을 누릅니다. 파일을 변경하고 몇 번 저장하십시오. 잠시만 기다려주세요. 더 많은 것을 바꾸고 다시 저장하십시오. 효과가 없습니다. –