티스토리 뷰

반응형

Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.

Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.

 

아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.

PyLint "Unable to import" error - how to set PYTHONPATH?

PyLint "Unable to import" 오류 - PYTHATH를 어떻게 설정합니까?

 문제 내용 

I'm running PyLint from inside Wing IDE on Windows. I have a sub-directory (package) in my project and inside the package I import a module from the top level, ie.

윈도우에서 Wing IDE 내부에서 PyLint를 실행하고 있습니다. 프로젝트에 하위 디렉터리(패키지)가 있으며 패키지 내부에는 최상위 수준에서 모듈을 가져옵니다.

 

__init__.py
myapp.py
one.py
subdir\
    __init__.py
    two.py

Inside two.py I have import one and this works fine at runtime, because the top-level directory (from which myapp.py is run) is in the Python path. However, when I run PyLint on two.py it gives me an error:

two.py 내부에 import one을 하면 정상적으로 작동합니다. myapp.py이 실행되는 최상위 디렉터리가 Python 경로에 있기 때문입니다. 그러나 two.py에서 PyLint를 실행하면 오류가 발생합니다.

 

F0401: Unable to import 'one'

How do I fix this?

이거 어떻게 고치죠?

 

 

 

 높은 점수를 받은 Solution 

There are two options I'm aware of.

제가 알고 있는 선택지는 두 가지입니다.

 

One, change the PYTHONPATH environment variable to include the directory above your module.

첫째, 모듈 위의 디렉토리를 포함하도록 PYTHONPATH 환경 변수를 변경합니다.

 

Alternatively, edit ~/.pylintrc to include the directory above your module, like this:

또는 다음과 같이 ~/.pylintrc를 편집하여 모듈 위의 디렉토리를 포함합니다.

 

[MASTER]
init-hook='import sys; sys.path.append("/path/to/root")'

(Or in other version of pylint, the init-hook requires you to change [General] to [MASTER])

(또는 다른 버전의 pylint에서 init-hook은 [General]을 [MASTER]로 변경해야 합니다.)

 

Both of these options ought to work.

이 두 가지 옵션 모두 효과가 있어야 합니다.

 

 

 

 가장 최근 달린 Solution 

I got this error when trying to submit a PR. What I end up doing is just to add #pylint: disable=E0401 on the same line where "import" happens.

PR을 제출하려고 할 때 이 오류가 발생했습니다. 마지막으로 "import"가 발생하는 동일한 행에 #pylint:disable=E0401을 추가합니다.

 

This helps me to pass the auto test.

이것은 내가 auto test를 통과하는 데 도움이 된다.

 

 

 

출처 : https://stackoverflow.com/questions/1899436/pylint-unable-to-import-error-how-to-set-pythonpath

반응형
댓글
공지사항
최근에 올라온 글