Python встановлюється в локальному каталозі.
Моє дерево каталогів виглядає так:
(local directory)/site-packages/toolkit/interface.py
Мій код тут:
(local directory)/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
. Також у мене є файл __init__.py.bin
у папці інструментарію, щоб вказати Python, що це пакет. У мене також є __init__.py.bin
каталог у прикладах.
Я не знаю, чому Python не може знайти файл, коли він знаходиться sys.path
. Будь-які ідеї? Чи може це бути проблема дозволів? Чи потрібен мені дозвіл на виконання?
755
. Це було через те, що umask
на апараті було 0027
пов’язано з тим, що у others
нього не було read
дозволу, що призводить до зчитування модуля. Додавання read
дозволу вирішило мою проблему. Варто перевірити дозвіл після встановлення цільового каталогу.
interface
(було конфліктом).