Я прошу прощения, так как я немного новичок в Python.Я хотел бы установить (на основе setuptools) пакет, но когда скрипты установлены, я бы хотел изменить #!line.
Я нашел документацию, в которой говорится, что для этой цели нужно использовать -e/--executable
, но это не распознанная опция для python3 setup.py install
.Если я использую его с командами build
или build_scripts
, он работает нормально, но это не помогает мне установить его.
Когда я запускаю команду установки, я вижу, что она говорит running build_scripts
и дажехотя я executable
определен в setup.cfg
для build_scripts, похоже, он имеет какой-то эффект только при явном вызове build_scripts
, а не при вызове из install.
Я нашел очень мало документации очто делают команды setuptools
- множество базовых руководств и несколько ссылок о различных аргументах для настройки, но ничего о том, что на самом деле делают команды или как их настраивать.Любые указатели будут высоко оценены!
Спасибо!
Редактировать: я провел еще несколько экспериментов и обнаружил, что хотя build / build_scripts сделал то, что было сказано относительно ключа --executable, команда installсоздал яйцо, и процесс создания яйца переписал линию Шебанга.Если я использую:
python3 setup.py build --executable='/usr/bin/env python3'
python3 setup.py install --skip-build --prefix=xxx --single-version-externally-managed --root=/
, это работает.Мне нужно сделать это в два этапа, потому что --executable не распознается при установке (хотя он работает только с установкой, если я поместил его в setup.cfg для сборки).Это правильный способ сделать это?Это звучит как много хакерства для чего-то очень простого.Я не могу найти документацию о том, что делает --single-version-external-managed.Кажется, что он подавляет яйцеклетку, и это вызывало проблему, но я не знаю, есть ли у этого какие-либо другие эффекты, о которых следует знать.