Как вы настраиваете #! строка при установке скриптов в python3.7? - PullRequest
0 голосов
/ 15 января 2019

Я прошу прощения, так как я немного новичок в 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.Кажется, что он подавляет яйцеклетку, и это вызывало проблему, но я не знаю, есть ли у этого какие-либо другие эффекты, о которых следует знать.

...