본문 바로가기
Python/Python FAQ

Python 파이썬 오류 "ImportError: 모듈이름이 없음", Python error "ImportError: No module named"

by 베타코드 2023. 9. 10.
반응형

질문


파이썬은 로컬 디렉토리에 설치되어 있습니다.

저의 디렉토리 트리는 다음과 같습니다:

(로컬 디렉토리)/site-packages/toolkit/interface.py

제 코드는 여기에 있습니다:

(로컬 디렉토리)/site-packages/toolkit/examples/mountain.py

예제를 실행하기 위해 python mountain.py라고 작성하고, 코드 안에는 다음이 있습니다:

from toolkit.interface import interface

그리고 다음과 같은 오류가 발생합니다:

Traceback (most recent call last):
  File "mountain.py", line 28, in ?
    from toolkit.interface import interface
ImportError: No module named toolkit.interface

이미 sys.path를 확인했고, 거기에 /site-packages 디렉토리가 있습니다. 또한, toolkit 폴더에 __init__.py.bin 파일이 있어 파이썬에게 이것이 패키지임을 알려줍니다. 또한 examples 디렉토리에도 __init__.py.bin 파일이 있습니다.

파이썬이 sys.path에서 파일을 찾을 수 없는 이유를 모르겠습니다. 아이디어가 있으신가요? 권한 문제일 수 있을까요? 어떤 실행 권한이 필요한 걸까요?


답변


orip의 게시물에 대한 당신의 댓글을 기반으로, 아마도 다음과 같은 일이 발생한 것 같습니다:

  1. 당신은 windows에서 __init__.py를 편집했습니다.
  2. windows 편집기가 인쇄되지 않는 무언가를 추가했을 것입니다. 아마도 캐리지 리턴 (Windows에서는 CR/LF이며, Unix에서는 LF만 있는 것입니다)이거나 아마도 CTRL-Z (Windows 파일의 끝)일 수도 있습니다.
  3. 당신은 WinSCP를 사용하여 파일을 Unix 상자로 복사했습니다.
  4. WinSCP는 "이것은 기본 텍스트가 아닌 것이 있습니다. 바이너리 데이터를 나타내기 위해 .bin 확장자를 붙일 것입니다."
  5. 누락된 __init__.py (이제 __init__.py.bin이라고 불립니다)는 Python이 toolkit을 패키지로 이해하지 못하게 합니다.
  6. 당신은 적절한 디렉토리에 __init__.py를 생성하고 모든 것이 작동합니다... ?
반응형

댓글