2013-06-24 4 views
0

Итак, в основном у меня есть скрипт python, который я бы хотел преобразовать в приложение Mac (.app). Основная структура кода заключается в следующем:Python to Mac .app (EOFError, вызванный raw_input)

while 1: 
    command_handler(raw_input("> ",)) 

То, что я здесь на самом деле REPL, который принимает данные от пользователя и реагирует соответствующим образом.

Я попытался экспортировать его с py2app, Platypus, Xcode, Build Applet, AppleScript. Большинство из них выдаст ошибку:

EOFError: EOF when reading a line 

Xcode не позволяет мне экспорта (я использовал this, чтобы настроить его соответствующим образом), она даже не создать архив.

Build Applet создает .app, но когда я его открываю, он немедленно закрывается.

Остальные из них бросают EOFError.

Что мне делать?

ответ

0

Посмотрите на this post, который находится примерно в py2app и т.п., давая EOFError при использовании raw_input. Надеюсь, это может привести вас в правильном направлении, я бы помог проверить некоторые вещи, но я нахожусь в Windows.

+0

Я только что попробовал это с помощью Automator. То же самое, что и AppleScript, так же, как всегда: 'EOFError'. – jimkokko5

+0

[Ответ] (http://stackoverflow.com/a/4711673/2037884), и в комментариях к этому вопросу упоминается, что вы не можете сделать это с помощью 'raw_input', поскольку вам нужен терминал. Последний комментарий к этому ответу «Просто упакуйте его с помощью Python Distutils и консольный скрипт, как и большинство кросс-платформенных пакетов Python». Это то, что вы хотите сделать? Если это так, перейдите только с консольным скриптом, иначе вы останетесь с использованием библиотеки графического интерфейса, например 'Tkinter'. – bnlucas

+0

Я нашел лучший способ. Я написал сценарий в AppleScript, который открывает окно терминала и запускает сценарий .py из ресурсов сборки приложения. Это было немного сложно, но все нормально. Спасибо за помощь! – jimkokko5