У меня проблема очень похожа на this one. Я тоже работаю от Программирование Python 4th edition. Я использую mac powerbook. У меня есть структура каталогов, аналогичная:Путь поиска модуля не исправлена добавлением __init__.py и редактированием PYTHONPATH
programming\ python
├── PP4E
│ ├── GUI
│ │ ├── Tour
│ │ │ ├── __init__.py
│ │ │ ├── demoAll-prg.py
│ │ │ ├── demoAll-win.py
│ │ │ ├── demoCheck.py
│ │ │ ├── demoDlg.py
│ │ │ ├── demoRadio.py
│ │ │ ├── demoScale.py
│ │ ├── __init__.py
│ ├── __init__.py
│ └── launchmodes.py
└── __init__.py
demoAll-prg.py пытается from PP4E.launchmodes import PortableLauncher
, но возвращает ImportError: No module named 'PP4E'
.
Ответы на вопросы, как правило, сообщают, чтобы убедиться, что в папках есть файлы __init__.py (сделано!) И/или добавить родительский каталог (здесь, «программирование python») в PYTHONPATH. Это также согласуется с Learning Python, 5-е изд., стр. 709.
Я пробовал несколько различных способов редактирования моего пути на питоне, например, описанного here, но безрезультатно. В настоящее время к моему .bash_profile добавлено это:
PYTHONPATH=“/Users/geoffreysametz/google drive/programming python”
export PYTHONPATH
но это не решает проблему. Я закрыл и снова открыл терминал и перезагрузил компьютер.
Любые советы по устранению этой проблемы очень ценятся.
Это исправляет $ PYTHONPATH, но не ошибку. 'echo $ PYTHONPATH' возвращает' '/ Users/geoffreysametz/google drive/python программирования' ', но' python demoAll-prg.py' запускается в каталоге «tour», возвращает 'ImportError: нет модуля с именем« PP4E » –
. любой оператор import в demoAll-prg.py, попробуйте это. import sys; печать (sys.path); и посмотрите, действительно ли этот путь включает в себя путь. – Hun
Это показывает нечетную ошибку. Первый путь: «/ Users/geoffreysametz/Google Drive/Программирование Python/PP4E/GUI/Tour'' (предположительно на пути b/c-программы запускается отсюда), а второй -«/Users/geoffreysametz/Google Драйв/Программирование Python/PP4E/GUI/Tour/"/ Пользователи/geoffreysametz/Google Drive/Программирование Python" ', где путь .bash_profile (в комплекте с двойными кавычками) вытолкнут на копию предыдущего пути. –