Итак, у меня есть проект, который я хочу установить в Windows. , машины Linux и Mac. Я использую setuptools как build-backend для создания утилиты для развертывания.
Я использую файл pyproject.toml для спецификаций сборки моего проекта. где я указываю project.scripts.
что-то вроде этого
Код: Выделить всё
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name=mypackage
....
[project.scripts]
myapp = "mypackage.mymodule:main"
Один из обходных путей, который я придумал, заключался в использовании Shutils для копирования myapp.exe как myapp в каталоге Scripts сразу после запуска приложения. Таким образом, когда зависимость ищет myapp, она находит его, и все работает.
Сначала я пытался создать символическую/мягкую ссылку, но обнаружил, что для создания символической ссылки вам нужно права администратора в Windows. Итак, мне пришлось придумать этот дешевый способ копирования myapp.exe как myapp.
Мне этот обходной путь не нравится, потому что он загромождает мой приложение. Я бы хотел, чтобы мой код сборки и его особенности были отделены от кода приложения, если это возможно.
Итак, мне было интересно, смогу ли я заставить свою систему сборки создавать и myapp. exe и myapp, если целевая ОС — Windows7/10/11? Могу ли я сделать это ? Если да, то как?
Подробнее здесь: https://stackoverflow.com/questions/786 ... yproject-t