Запуск «IDLE3.2-s» из «Finder» в OS X 10.6

1

Я хочу запустить IDLE3.2 с аргументом "-s", чтобы он мог читать ".pythonstartup" и экспортировать соответствующие модули, изменять рабочий каталог и т.д. Вот что я пробовал:

  • Создана оболочка script:

    /usr/local/bin/idle3.2 -s
    

    это работает нормально, однако запуск script из Finder открывает терминал, что не является желаемым поведением.

  • Создан аппликатор:

    do shell script "/bin/bash; cd /usr/local/bin/; ./idle3.2 -s"
    

    это получает rids терминала, но не передает аргумент "-s" в idle3.2, поэтому файл конфигурации не загружается.

любые предложения?

EDIT: оказывается, что переменные среды неправильно установлены, даже если вызывается /bin/ bash. поэтому следующее решение этой проблемы:

do shell script "/bin/bash; source ~/.profile; /usr/local/bin/idle3.2 -s"
  • 1
    Было бы точнее сказать, что файл конфигурации не был загружен, поэтому вы считаете, что аргумент -s не был передан? Возможно, скрипт по какой-либо причине не имеет доступа к обязательным переменным. Сначала я бы проверил - документы Python говорят, что нужно проверить IDLESTARTUP и PYTHONSTARTUP.
  • 0
    конечно, это может быть так: developer.apple.com/library/mac/#technotes/tn2065/_index.html здесь говорится, что «Из соображений безопасности и переносимости сценарий оболочки игнорирует файлы конфигурации, которые будет читать интерактивная оболочка, так что вы не получите настройки, которые были бы у вас в терминале. "
Показать ещё 3 комментария
Теги:
macos

2 ответа

2
Лучший ответ

благодаря @lain следующий applescript решает проблему:

do shell script "source ~/.profile; idle3.2 -s"

где ~/.profile указывает оболочку (в данном случае /bin/sh ) путь для .PYTHONSTARTUP и путь для idle3.2

2

Я думаю, что ваш do shell script "/bin/bash; cd /usr/local/bin; ./idle3.2 -s" делает дополнительную работу и, возможно, проще будет сделать. Попробуйте:

do shell script "/usr/local/bin/idle3.2 -s"
  • 0
    Я предпочитаю / usr / bin / env appname, так как я могу использовать $ PATH и избегать жестко закодированных путей, но YMMV
  • 0
    @ Забавно, но я предпочитаю жестко закодированные пути, чтобы избежать использования $PATH . :)
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню