Я ищу способ импортировать подпакет из пакета в Python 3. Рассмотрим следующую структуру:
├── main.py
└── package
├── subpackage
│ └── hello.py
└── test.py
Что я хотел бы сделать, это использовать функцию внутри hello.py изнутри test.py (который запускается main.py)
main.py
from package.test import print_hello
print_hello()
package / test.py
from subpackage.hello import return_hello
def print_hello():
print(return_hello())
package / subpackage/hello.py
def return_hello():
return "Hello"
Но я получаю следующую ошибку:
Traceback (most recent call last):
File ".\main.py", line 1, in <module>
from package.test import print_hello
File "D:\Python\python-learning\test\package\test.py", line 1, in <module>
from subpackage.hello import return_hello
ModuleNotFoundError: No module named 'subpackage'
Я попытался вставить .
в test.py
, и это сработало, но мой линтер не работаетне нравится.
Что я делаю не так?
edit: мне удалось использовать абсолютный путь какрекомендуется, но теперь, когда я пытаюсь поместить все в подпапку, pylint не может импортировать.
└── src
├── main.py
└── package
├── subpackage
│ └── hello.py
└── test.py