Похоже, что ваш путь или структура каталогов настроены неправильно.
Учитывая следующую структуру, полное имя вашего модуля календаря должно быть myproject.calendar
. Вы можете проверить это, распечатав атрибут __name__
вашего модуля. Для этого путь, который ваша программа использует для импорта локальных модулей, должен быть папкой, содержащей myproject
.
myproject
├── calendar.py
├── foo.py
└── __init__.py
Кажется, что путь, который вы используете, фактически myproject
. Значение calendar.py
превращается в модуль корневого уровня calendar
, а не myproject.calendar
. Python предпочитает локальные модули для встроенных, поэтому импортирует ваш модуль calendar
.
Более типично вы можете сделать что-то вроде этого.
MyProjectFolder
├── main.py
└── myproject
├── calendar.py
├── foo.py
└── __init__.py
И затем запустите свою программу следующим образом:
#! /bin/bash
cd /path/to/MyProjectFolder
python main.py