Python 3.75, импортирующий пакет, установленный в режиме редактирования

#python

#python

Вопрос:

Проблема:

Я настраиваю модульное тестирование, pytest и мне нужно импортировать объекты, которые я хочу протестировать. Я установил пакет, который я тестирую в режиме редактирования. Однако from my_pkg.file import File причины ImportError .

Я вижу установленный модуль со ссылкой на мой удаленный репозиторий, -e перед которым при запуске добавляется семафор pip freeze .

Я также вижу объект egg, находящийся в каталоге package в /src.

Сообщение об ошибке в консоли:

Ошибка импорта при импорте тестового модуля ‘C:Userszzzsourcereposprojapplicationteststest_file.py «. Подсказка: убедитесь, что ваши тестовые модули / пакеты имеют допустимые имена Python. Трассировка: возвращает _bootstrap._gcd_import(имя [level:], пакет, уровень) из my_pkg.file импортируйте файл E ModuleNotFoundError: нет модуля с именем ‘my_pkg’

Каталог пакетов:

введите описание изображения здесь

Комментарии:

1. Где my_pkg существует в вашей иерархии каталогов и my_pkg/__init__.py существует ли?

2. @chepner Я добавил изображение каталога пакета в сообщение.

3. Но где это my_pkg ? Он должен находиться в каталоге на вашем пути к Python.

4. @chepner my_pkg устанавливается в виртуальной среде, а не глобально. Я выбрал venv, на который он установлен в VSCode.

5. Я предполагаю application/src , что это не на вашем пути к Python. Помимо жестко запрограммированного по умолчанию для конкретного интерпретатора, единственным неявно добавляемым каталогом является любой каталог, содержащий основной скрипт, который для ваших тестов будет выглядеть tests/ . application/src нет, поэтому Python не найдет my_pkg .