Прежде всего: извините, я знаю, что было много вопросов об относительном импорте, но я просто не нашел решения . Если возможно, я хотел бы использовать следующую схему каталогов:
myClass/
__init__.py
test/
demo.py
benchmark.py
specs.py
src/
__init__.py
myClass.py
Теперь у меня следующие вопросы:
Каким образом тестовые файлы из пакета правильно импортируют myClass.py?
Как бы вы импортировали пакет извне, предполагая, что вы берете myClass в качестве подмодуля в libs / myClass или включаете / myClass?
Пока мне не удалось найти элегантного решения для этого. Насколько я понимаю Решение Гвидо , должно быть возможно выполнить из ..src import myClass
, но это приведет к ошибке:
ValueError: Попытка относительного импорта в не-пакете
Похоже, что myClass не рассматривается как пакеты. Чтение документации :
Файлы __init__.py необходимы, чтобы Python обрабатывал каталоги как содержащие пакеты;
Кажется, мне не хватает чего-то, что указывает, где находятся скрипты пакета, следует ли мне использовать .pth?