Как создать однофайловую библиотеку пространств имен с помощью uv?Python

Программы на Python
Ответить
Anonymous
 Как создать однофайловую библиотеку пространств имен с помощью uv?

Сообщение Anonymous »

У меня есть проект, структурированный следующим образом:

├── pyproject.toml
└── src
└── a_namespace
└── a_module.py

С помощью Poetry я могу установить и упаковать этот проект, используя следующие настройки:
[tool.poetry]
packages = [
{ include = "a_namespace/a_module.py", from = "src" },
]

Однако я не могу заставить это работать с uv. Согласно документации мне нужно сделать это:
[tool.uv.build-backend]
module-name = "a_namespace.a_module"

Но это приводит к следующей ошибке:
× Failed to build ... @ file:///...`
╰─▶ Expected a Python module at: src/a_namespace/a_module/__init__.py

Добавление .py не решает проблему.
[tool.uv.build-backend]
module-name = "a_namespace.a_module.py"

× Failed to build ... @ file:///...`
╰─▶ Expected a Python module at: src/a_namespace/a_module/py/__init__.py

import-names и import-namespaces, похоже, тоже не работают.
[project]
import-namespaces = ["a_namespace"]
import-names = ["a_namespace.a_module"]


Подробнее здесь: https://stackoverflow.com/questions/797 ... ry-with-uv
Ответить

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

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

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

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

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