Относительный Шебанг: Как написать исполняемый сценарий под управлением портативного интерпретатора, который поставляетсPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Относительный Шебанг: Как написать исполняемый сценарий под управлением портативного интерпретатора, который поставляетс

Сообщение Anonymous »

Допустим, у нас есть программа /пакет, которая поставляется с собственным интерпретатором и набором сценариев, которые должны вызвать ее при выполнении (с помощью шебанга). < /p>

И допустим, мы хотим сохранить его портативным, поэтому он остается функционирующим, даже если просто скопировано в другое место (разные машины), не вызывая настройку/установку или изменение среды (путь). Интерпретатор системы не следует смешивать для этих сценариев. />#!/usr/bin/python
< /code>

и поиск в среде < /p>

#!/usr/bin/env python
< /code>

Отдельные установки запуска выглядят уродливыми и неприемлемы. Относительный путь в Шебанге бесполезен, и для интерпретатора не может быть более одного аргумента: http://www.in-ulm.de/~mascheck/various/shebang/

и я также нашел практические решения для большинства языков с многострочными Шебанг. Это позволяет писать сценарии, подобные этим: < /p>

#!/bin/sh
"exec" "`dirname $0`/python2.7" "$0" "$@"
print copyright
< /code>

Но иногда мы не хотим расширять /исправлять существующие сценарии, которые полагаются на Шебанг с абсолютным путем для интерпретатора, используя этот подход. Например. Python's setup.py поддерживает -Executable < /code> опция, которая в основном позволяет указать содержание Shebang для сценариев, которые он создает: < /p>

python setup.py build --executable=/opt/local/bin/python
< /code>

Итак, в частности, что можно указать для -Executable = < /code>, чтобы включить желаемый вид переносимости? Или, другими словами, так как я хотел бы сохранить вопрос не слишком специфичным для Python ... < /p>

Вопрос < /h1>

Как написать шейбанг, который указывает интерпретатора с путем, который относится к местоположению выполняемого сценария?>

Подробнее здесь: https://stackoverflow.com/questions/332 ... nterpreter
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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