Вы импортируете из пакета «sub». start.py
не входит в пакет, даже если присутствует __init__.py
.
Вам нужно будет запустить свою программу из одного каталога через parent.py
:
./start.py
./pkg/__init__.py
./pkg/parent.py
./pkg/sub/__init__.py
./pkg/sub/relative.py
С start.py
:
import pkg.sub.relative
Теперь pkg - это пакет верхнего уровня, и ваш относительный импорт должен работать.
Если вы хотите придерживаться своего текущего макета, может просто использовать import parent
. Поскольку вы используете start.py
для запуска вашего интерпретатора, каталог, в котором находится start.py
, находится в вашем пути python. parent.py
живет там как отдельный модуль.
Вы также можете безопасно удалить верхний уровень __init__.py
, если вы ничего не импортируете в скрипт дальше по дереву каталогов.
Один из вариантов - работа с Spring boot и встроенным tomcat. Таким образом, вы можете настроить свой собственный встроенный экземпляр Tomcat.
Вот с чего начать: Spring со встроенным веб-сервером
.В этом случае вам нужен VPS. Последним, что я купил, был hetzner, они предлагают новые планы с менее мощным процессором или чем-то вроде этого, поэтому я получаю 4 ГБ ОЗУ сервера за 5,88 долларов США в месяц, 1 ГБ за 2,99