ModuleNotFoundError при запуске скрипта из терминала, но не в интерпретаторе - PullRequest
0 голосов
/ 30 января 2020

У меня ошибка, показанная в заголовке. Контекст таков:

  • MainDir
    • PackageDir
      • __init__.py
      • otherpython.py
    • ScriptDir
      • script.py (который импортирует Package)

Если I go в терминале в то время как в MainDir и run python ScriptDir/script.py Я получаю ошибку в заголовке, то есть мой пакет не найден. Однако если я открою интерпретатор python из MainDir, а затем импортирую пакет, пакет будет найден без проблем.

MainDir > python
>>> import Package     #No problems

Обратите внимание, что PYTHONPATH содержит PackageDir. При проверке sys.path вывод содержит абсолютный путь к PackageDir, то есть

sys.path = ['/home/user/MainDir/PackageDir','PathToAnaconda',...]

является частью выданного списка.

Я очень запутался в том, что происходит здесь кто-нибудь может мне помочь? Спасибо

1 Ответ

0 голосов
/ 30 января 2020

Я предполагаю, что import package вы пытаетесь получить доступ к чему-то из PackageDir

Можете ли вы попробовать это в вашем script.py

import sys
sys.path.insert(0,"/MainDir/PackageDir")  

Кто-то спросил что-то подобное в ниже ссылка.

Вот четкий ответ для того же импорта файлов из разных папок

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...