2010-08-30 3 views
2

В окнах, чтобы один из моих кодов выполнял все, что мне нужно сделать, это дважды щелкнуть по файлу. Тем не менее, я не могу понять, как сделать аналогичную задачу в Ubuntu.Выполнение исполняемых файлов python в Ubuntu

+0

Это не имеет ничего общего с файлами .pyw (они просто не позволяют появлению консоли но в остальном точно такие же). – delnan

ответ

6

Убедитесь, что вы #!/usr/bin/env python в первой строке вашего скрипта, то в вашей оболочке сделать:

chmod +x file.py 
./file.py 
+1

К OP: Это то, что вам нужно, просто не забудьте добавить что-то по строкам '#!/usr/bin/python' в качестве первой строки. '#!' - это unix-y способ сообщить компьютеру, какой исполняемый файл необходим для запуска скрипта. –

+0

Объедините комментарий в ответ, и мы закончили. – delnan

0

Вы должны установить разрешение файла для его исполняемым с помощью chmod. Подробности см. На странице manpages для chmod.

4

.pyw-файлы - это просто файлы .py, которые были переименованы, так что ассоциации файлов Windows запускают их с помощью пустого интерпретатора Python вместо обычного.

Чтобы запустить run-on-doubleclick, работающий над Ubuntu, во-первых, вам нужно убедиться, что ядро ​​видит сценарий в качестве исполняемого файла и знает, что с ним делать. Для этого:

  1. Используйте либо Nautilus диалогового окна свойств файла или команда CHMOD, чтобы пометить его исполняемым (chmod +x whatever.pyw)
  2. Убедитесь, что первая строка в файле говорит #!/usr/bin/env python (см wikipedia для получения дополнительной информации)
  3. Убедитесь в том, что файл был сохранен в стиле линии LF (\n), а не в линиях CRLF (\r\n) DOS/Windows. (Ядро ожидает окончания Unix-стиль линии для шага 2 и, если вы забыли, он видит (\r) символа CR, как часть пути и ошибки вне)

Вы можете проверить, находится ли они завершены выполните шаги, выполнив ваш сценарий в окне терминала. (cd в каталог, в котором он находится и работает ./your_script.pyw)

Если это работает, Nautilus должен просто автоматически отображать «Редактировать или запустить?». при двойном щелчке. Однако прошло некоторое время с тех пор, как я использовал GNOME, поэтому не могу быть уверен.

Если это не так, попробуйте переименовать файл в .py. (Я помню, что Nautilus имеет проверку безопасности «Расширение совпадений?», Которая может не знать, что .pyw является допустимым синонимом для .py)

Смежные вопросы