Eclipse에서 PyDev를 사용하는 Python 프로젝트가 있고 PyDev는 내 코드에 계속 잘못된 오류를 생성합니다. 객체 settings
를 정의 하는 모듈 이 settings
있습니다. 나는 그것을 모듈로 가져오고 다음을 사용 b
하여 속성을 할당합니다.
from settings import settings
settings.main = object()
내 코드 중 일부에서는 다음과 같은 문장이 있습니다.
from settings import settings
print settings.main
… 코드가 문제없이 실행 되더라도 Eclipse 코드 오류 분할 창에서 “import : main에서 정의되지 않은 변수”메시지를 생성하십시오. 이 문제를 어떻게 해결할 수 있습니까?
답변
프로젝트의 코드의 경우 유일한 방법은 if False
실행되지 않도록 (정적 코드 분석은 런타임 정보가 아닌 보이는 정보 만 볼 수 있음) 해당 모듈을 직접 열면 main이 예상되었다는 표시가 없습니다).
이를 극복하기 위해 몇 가지 선택이 있습니다.
-
외부 모듈 인 경우
forced builtins
PyDev가 런타임 정보를 얻기 위해 쉘을 생성하도록 모듈을 추가 할 수 있습니다 (자세한 내용은 http://pydev.org/manual_101_interpreter.html 참조). 모듈을 쉘로 가져오고 모듈에서 찾은 클래스dir(module)
와dir
클래스를 수행하여 완료를 제시하고 코드를 분석하십시오. -
오류가있는 줄에 Ctrl + 1 (Mac의 경우 Cmd + 1)을 사용할 수 있으며 PyDev는 해당 오류를 무시하기 위해 주석을 추가하는 옵션을 제공합니다.
-
stub
모듈 을 만들어predefined
완성에 추가 할 수 있습니다 ( http://pydev.org/manual_101_interpreter.html 에 자세한 내용이 있음).
답변
바이너리 등에 의존하는 opencv를 사용하고 있으므로 다른 모든 줄 에이 바보 같은 오류가있는 스크립트가 있습니다. 파이썬은 동적 인 언어이므로 그러한 경우를 오류로 간주해서는 안됩니다.
다음으로 이동하여 이러한 오류를 모두 제거했습니다.
창-> 환경 설정-> PyDev-> 편집기-> 코드 분석-> 정의되지 않음-> 가져 오기에서 정의되지 않은 변수-> 무시
그게 다야.
창-> 환경 설정-> PyDev-> 편집기-> 코드 분석-> 가져 오기-> 가져 오기를 찾을 수 없음-> 무시
답변
답변으로 표시된 게시물은 해결책이 아니라 해결 방법을 제공합니다.
이 솔루션은 저에게 효과적입니다.
- 이동
Window - Preferences - PyDev - Interpreters - Python Interpreter
Forced builtins
탭으로 이동- 클릭
New...
- 모듈 이름을 입력하고 (
multiprocessing
필자의 경우)OK
오류 메시지가 사라질뿐만 아니라 모듈 멤버도 인식됩니다.
답변
Eclipse / PyDev 프로젝트에서 비슷한 문제가 발생했습니다. 이 프로젝트에서 파이썬 코드의 루트 디렉토리는 프로젝트의 하위 디렉토리였습니다.
--> MyProject
+ --> src Root of python code
+ --> module1 A module
+ --> module2 Another module
+ --> docs
+ --> test
프로젝트가 디버깅되거나 실행될 때 작업 디렉토리가 올바른 위치로 설정되어 모든 것이 정상이었습니다. 그러나 PyDev 코드 분석에서 module1 또는 module2에서 가져 오기를 찾지 못했습니다.
해결책은 프로젝트 속성-> PyDev-PYTHONPATH 섹션을 편집하고 소스 폴더 탭에서 / MyProject를 제거하고 대신 / MyProject / src를 추가하는 것입니다.
답변
이것은 나를 위해 일했다 :
1 단계) 인터프리터를 제거하고 자동으로 다시 구성
2 단계) 창-환경 설정-PyDev-통역사-Python 통역사 강제 내장 탭으로 이동 새로 만들기를 클릭하십시오 … 모듈의 이름 (제 경우에는 저주)을 입력하고 확인을 클릭하십시오
단계 3) 오류가 발생한 모듈에서 프로젝트 탐색기를 마우스 오른쪽 버튼으로 클릭하십시오. PyDev-> 코드 분석으로 이동하십시오.
답변
나는 같은 문제가 있었다. Windows에서 Python 및 Eclipse를 사용하고 있습니다. 코드는 정상적으로 실행되었지만 일식은 어디에서나 오류를 보여줍니다. 폴더 ‘Lib’의 이름을 ‘lib'(C : \ Python27 \ lib)로 변경 한 후 문제가 해결되었습니다. 글자의 대문자가 구성 파일의 대문자와 일치하지 않으면 문제가 발생할 수 있습니다 (그러나 항상 문제는 아닙니다. 오류 검사가 갑자기 나타나지 않았기 때문에 오랜 시간 동안 오류 검사가 좋았 기 때문에 이유).
답변
내가하고있는 것에 대한 근사치 :
import module.submodule
class MyClass:
constant = submodule.constant
pylint가 말한 내용 :
E: 4,15: Undefined variable 'submodule' (undefined-variable)
가져 오기를 다음과 같이 변경하여이 문제를 해결했습니다.
from module.submodule import CONSTANT
class MyClass:
constant = CONSTANT
참고 : 또한 가져온 변수로 이름을 변경하여 상수 특성을 반영하는 대문자 이름을 갖습니다.