Я хочу опубликовать исполняемый файл Python, который зависит от интерфейса командной строки j2lint. Я хотел бы включить его непосредственно при установке, не требуя от пользователя установки утилиты CLI отдельно.
Поскольку я использую uv в качестве менеджера пакетов, я могу запустить uv add j2lint, а затем запустить утилиту в папке проекта с помощью uv run j2lint.
Я также могу запустить исполняемый файл с помощью подпроцесса. Допустим, я создаю файл j2linttest.py:
Код: Выделить всё
import subprocess
def main():
subprocess.run(["j2lint","--version"])
if __name__ == "__main__":
main()
и запустите его с помощью uv run python j2linttest.py. Это правильно выводит Jinja2-Linter версии v1.2.0. Однако, если я упакую его как скрипт проекта в pyproject.toml, создам его как колесо и установлю как отдельное приложение, он больше не распознает исполняемый файл. Каков стандартный способ включения исполняемых файлов из pypi в качестве зависимости проекта?
Подробнее здесь:
https://stackoverflow.com/questions/798 ... uv-project