ImportError: нет модуля с именем <something>

Я знаю, что этот вопрос задавали несколько раз. Я прочитал все из них, но не смог решить мою проблему. Следующей является моя структура каталогов.

ankur --ankur1 __init__.py util.py --ankur2 main.py --__init__.py 

В main.py я импортирую следующее.

  • Почему я получаю «IndentationError: ожидается отложенный блок»?
  • Python: TypeError: объект 'tuple' не поддерживает назначение элемента
  • Обнаружение изменения файла без опроса
  • Почему «класс» не запускает новую область, например «def»?
  • встроенная функция для вычисления перекрытия в Python
  • для цикла в Python
  •  import ankur.ankur1.util 

    Когда я выполняю код в окнах, он работает отлично. Но в Linux я получаю следующую ошибку.

     ImportError: No module named ankur.ankur1.util 

    Я также прочитал официальный документ python о модулях и пакетах.

  • Рекомендации: как вы указываете требуемые зависимости в файле setup.py?
  • Python элегантная обратная функция int (строка, база)
  • Загрузите и проанализируйте CSV-файл с помощью Google App Engine
  • Почему pycharm предлагает изменить метод на статический
  • Словарь в нижнем регистре в Python
  • AppEngine Создание моделей ndb json serializable
  • One Solution collect form web for “ImportError: нет модуля с именем <something>”

    Структура вашего пакета в порядке. Оператор импорта в порядке. Единственное, чего не хватает в том, чтобы пакет был видимым в sys.path .

    Обычно мы делаем это с помощью setup.py , «устанавливая» пакет локально, но ваш проект не имеет setup.py . Не изменяйте sys.path напрямую в коде . Вместо этого вы можете использовать переменную среды PYTHONPATH . В вашей оболочке:

     export PYTHONPATH=/path/to/parent 

    Где parent – каталог, содержащий подкаталог ankur .

    Python - лучший язык программирования в мире.