Я проверил столько страниц SO, сколько мог, и перепробовал все, что нашел, но ни одна не увенчалась успехом. Я также проверил страницу PEP относительно импорта и попробовал каждый пример, ни один из которых не работал.
У меня есть папка test с юнит-тестами, и мне нужно импортировать модуль, который я хочу протестировать. Модули находятся в папке с именем 'src', которая находится рядом с папкой src.
Папки / файлы выглядят примерно так:
Project /
src /
stringbuilder.py
__init__.py
tests /
stringbuilder_test.py
__init__.py
main.py
__init__.py
Я перепробовал все, что мог: добавив __init__.py
в каждую папку, сделав ее модулем, включая основную папку проекта.
import src.module_to_test
from ..src.module_to_test import function_to_test
from ..src import module_to_test
Я проверил все другие комбинации, все из которых потерпели неудачу. Я начинаю думать, что должно быть что-то не так с моими настройками или пониманием - я думал, что это должно быть просто.
Если я делаю какие-либо очевидные ошибки, пожалуйста, дайте мне знать.
from tests import stringbuilder
Сообщение об ошибке:
$ ./stringbuilder_test.py
Traceback (most recent call last):
File "./stringbuilder_test.py", line 14, in <module>
from tests import stringbuilder
ImportError: No module named tests
Та же ошибка возникает для (но tests = src):
from src import stringbuilder