반응형
질문
파이썬은 로컬 디렉토리에 설치되어 있습니다.
저의 디렉토리 트리는 다음과 같습니다:
(로컬 디렉토리)/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의 게시물에 대한 당신의 댓글을 기반으로, 아마도 다음과 같은 일이 발생한 것 같습니다:
- 당신은 windows에서
__init__.py
를 편집했습니다. - windows 편집기가 인쇄되지 않는 무언가를 추가했을 것입니다. 아마도 캐리지 리턴 (Windows에서는 CR/LF이며, Unix에서는 LF만 있는 것입니다)이거나 아마도 CTRL-Z (Windows 파일의 끝)일 수도 있습니다.
- 당신은 WinSCP를 사용하여 파일을 Unix 상자로 복사했습니다.
- WinSCP는 "이것은 기본 텍스트가 아닌 것이 있습니다. 바이너리 데이터를 나타내기 위해 .bin 확장자를 붙일 것입니다."
- 누락된
__init__.py
(이제__init__.py.bin
이라고 불립니다)는 Python이 toolkit을 패키지로 이해하지 못하게 합니다. - 당신은 적절한 디렉토리에
__init__.py
를 생성하고 모든 것이 작동합니다... ?
반응형
댓글