У меня есть пакет (или, как мне кажется, должен быть пакет) со структурой каталогов:
Switch/
tests/
testing.py
Sw.py
#otherfiles
Я пытаюсь импортировать Sw.py из testing.py. Я пробовал несколько вещей, в том числе from .. import Sw
, import ..Sw
, from Switch import Sw
и несколько других вариантов. Я пробовал это с и без и __init__.py
файл в каталоге Switch и в каталоге tests. Основная ошибка, которую я получаю:
Traceback (most recent call last):
File "tests/testing.py", line 10, in <module>
from .. import Sw
ImportError: attempted relative import with no known parent package
Хотя я также получаю синтаксические ошибки при попытке import ..Sw
и ModuleNotFoundError: No module named 'Switch'
при попытке from Switch import Sw
.
Я сделал все возможное, чтобы убедиться, что ни один из каталогов в пакете не находится в пути или в pythonpath, хотя я на WSL и работаю Python, установленную на Windows, поэтому пути несколько сложный.
Когда я go в каталог выше Switch и запускаю python -c "import Switch.Sw"
, он работает правильно, но внутри каталога Switch он отвечает ModuleNotFoundError: No module named 'Switch'