Persistent ModuleNotFoundError: в проекте Python нет модуля с именем «src»Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Persistent ModuleNotFoundError: в проекте Python нет модуля с именем «src»

Сообщение Anonymous »

Я работаю над проектом Python со следующей структурой:

Код: Выделить всё

hyperMVP/
├── src/
│   ├── __init__.py
│   ├── afrr/
│   │   ├── __init__.py
│   │   ├── dumper.py
│   │   └── cleaner.py
│   ├── config.py
│   ├── tests/
│   │   ├── afrr/
│   │   │   ├── __init__.py
│   │   │   └── test_afrr_dumper.py
Файл test_afrr_dumper.py предназначен для проверки функции dump_afrr_data в afrr/dumper.py. Соответствующие фрагменты кода следующие:

Код: Выделить всё

src/afrr/dumper.py

Код: Выделить всё

import os
import pandas as pd
from datetime import datetime
from src.config import PROCESSED_DIR  # Ensure PROCESSED_DIR is defined in src/config.py

Код: Выделить всё

src/tests/afrr/test_afrr_dumper.py

Код: Выделить всё

from afrr.dumper import dump_afrr_data
from src.config import PROCESSED_DIR
Когда я пытаюсь запустить тест с помощью pytest или напрямую с Python, я сталкиваюсь со следующей ошибкой:

Код: Выделить всё

ModuleNotFoundError: No module named 'src'
  • Настройка PYTHONPATH:

    Код: Выделить всё

    set PYTHONPATH=src
    
    Проверено с помощью echo %PYTHONPATH%, но ошибка сохраняется при запуске теста:

    Код: Выделить всё

    pytest src/tests/afrr/test_afrr_dumper.py
    
  • Добавление __init__.py:
    • Добавлены файлы __init__.py в следующие каталоги, чтобы гарантировать, что они обрабатываются как пакеты:

      Код: Выделить всё

      src/
      src/afrr/
      src/tests/afrr/
      
      
  • Установка проекта в виде пакета:
    • Создал файл setup.py:

      Код: Выделить всё

      from setuptools import setup, find_packages
      
      setup(
      name="hypermvp",
      version="0.1",
      packages=find_packages(where="src"),
      package_dir={"": "src"},
      install_requires=[
      "pandas>=1.0.0",
      ],
      )
      
    • Установил проект с помощью:

      Код: Выделить всё

      pip install -e .
      
  • Перемещение тестовых файлов[/b]:< /p>
    • Переместил test_afrr_dumper.py в src/ и запустил:

      Код: Выделить всё

      pytest src/test_afrr_dumper.py
      
      По-прежнему обнаружена та же ошибка ModuleNotFoundError.
Ожидаемое поведение
Каталог src должен распознаваться как корневой пакет, а импортируемые файлы — в test_afrr_dumper.py должно решиться без проблем. Например, импорт PROCESSED_DIR из src.config должен работать без проблем.

Фактическое поведение
Несмотря на это пробуя все вышеперечисленное, Python постоянно не распознает src как модуль и выдает сообщение «ModuleNotFoundError: нет модуля с именем «src».

Сведения о среде
  • ОС: Windows 10
  • Версия Python: 3.12.8
  • Виртуальная среда: venv, созданная с помощью python -m venv
  • Установлено Зависимости:
  • Другие стандартные библиотеки.


Публичный репозиторий
https://github.com/hilbertp/hypermvp
Вопросы
  • Как правильно настроить проект, чтобы что src рассматривается как корневой модуль для импорта?
  • Чего мне не хватает с точки зрения разрешения пакетов/модулей Python?
  • Есть ли более структурное и постоянное решение этой проблемы, не требующее установки PYTHONPATH вручную?


Подробнее здесь: https://stackoverflow.com/questions/793 ... on-project
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Persistent ModuleNotFoundError: в проекте Python нет модуля с именем «src»
    Anonymous » » в форуме Python
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Persistent ModuleNotFoundError: в проекте Python нет модуля с именем «src»
    Anonymous » » в форуме Python
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Persistent ModuleNotFoundError: в проекте Python нет модуля с именем «src»
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • ModulenotFoundError: нет модуля с именем «ReportLab» после ModulenOtFoundError: Нет модуля с именем «Flask '
    Anonymous » » в форуме Python
    0 Ответы
    62 Просмотры
    Последнее сообщение Anonymous
  • Постоянный modulenotfounderror: нет модуля с именем «src» в Python Project
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»