Python: модуль не найден: почему venv решил эту проблему?Python

Программы на Python
Anonymous
Python: модуль не найден: почему venv решил эту проблему?

Сообщение Anonymous »

У меня следующая структура проекта:

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

- project
- src
- module_a
- foo.py
- __init__.py
- runner.py
- constants.py
- __init__.py
constants.py:

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

SOME_CONST = 5
foo.py:

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

from src.constants import SOME_CONST
class Foo:
def some_func(self):
....
runner.py:

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

from src.module_a.foo import FOO

def main():
Foo.some_func()

if __name__ == "__main__":
main()
Я пытаюсь запустить python runner.py из папки src, но он выдает ModuleNotFound о src, когда foo.py< /code> пытался импортировать из src.constants import SOME_CONST.
Я понимаю, что проблема заключалась в том, что интерпретатор Python не распознал папку src как модуль, хотя у него есть файл __init__.py.
После создания виртуальной среды venv проблема решилась.
У меня следующие вопросы:

[*]Почему интерпретатор Python не распознал папку src как модуль перед созданием виртуальной среды?
[*]Почему создание виртуальной среды решило проблему?
[*]Как настроить проект, чтобы он работал без настройки виртуальной среды?


Подробнее здесь: https://stackoverflow.com/questions/785 ... v-solve-it

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