Python venv не может найти модуль, хотя он установлен после первого запускаPython

Программы на Python
Ответить
Anonymous
 Python venv не может найти модуль, хотя он установлен после первого запуска

Сообщение Anonymous »

Моя структура папок выглядит следующим образом

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

├── README.md
├── experiments
│   └── experiment_hello.py
├── pyproject.toml
├── src
│   └── testing_installed_package
│       ├── __init__.py
│       ├── __pycache__
│       │   ├── __init__.cpython-312.pyc
│       │   └── hello.cpython-312.pyc
│       ├── hello.py
│       └── main.py
└── uv.lock
Настройка очень проста, hello.py имеет функцию hello_func, которая импортируется и выполняется в Experiment_hello.py.
Если я сейчас запущу:

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

uv run python experiments/experiment_hello.py
он ​​работает в первый раз, когда генерирует виртуальную среду.
Во второй раз, когда я выполняю эту строку в терминале, я получаю эту ошибку:

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

Traceback (most recent call last):
File "/projects/testing_installed_package/experiments/experiment_hello.py", line 1, in 
from testing_installed_package.hello import hello_func
ModuleNotFoundError: No module named 'testing_installed_package'
Если я удалю venv, а затем снова выполню строку, она снова будет работать, а во второй раз уже нет.
То же самое поведение происходит, когда я создаю новый venv, активирую его и затем выполняю строку

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

python experiments/experiment_hello.py

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

uv pip list
также показывает, что он установлен:

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

Package                   Version Editable project location
------------------------- ------- -------------------------------------------------------------
testing-installed-package 0.1.0   /projects/testing_installed_package
Мой pyproject.toml выглядит так:

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

[project]
name = "testing-installed-package"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
authors = []
requires-python = ">=3.12"
dependencies = []

[project.scripts]
testing-installed-package = "testing_installed_package:main"

[build-system]
requires = ["uv_build>=0.9.27,

Подробнее здесь: [url]https://stackoverflow.com/questions/79878161/python-venv-cant-find-module-even-though-it-is-installed-after-first-run[/url]
Ответить

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

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

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

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

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