Добавление скрипта Python в Application Launcher

Я использую Gnome 2.32.0 в Ubuntu 10.10, и мне нужно выполнить скрипт Python через Gnome custom application launcher. Я добавил панель запуска приложения к панели и указал соответствующий сценарий Python, но каждый раз, когда я пытаюсь запустить его, я получаю сообщение об ошибке в следующих строках:

There was an error creating the child process for this terminal
Failed to execute child process "/home/dananjaya/xkcd_viewer/xkcd_gui.py" (Permission denied)

Каков правильный способ добавления сценарий Python для запуска приложения? Что не так в этом случае? Заранее спасибо.

0
задан 20 May 2012 в 00:38

9 ответов

Кажется, что у вас нет прав на выполнение сценария. Существует два возможных решения:

Префикс команды с помощью python, e. г. python /path/to/myscript.py вместо /path/to/myscript.py. Таким образом, интерпретатор python будет читать ваш скрипт вместо исполняемого сценария, вызывающего интерпретатор python, и разрешения на скрипт могут оставаться неизменными. Включить разрешения выполнения для скрипта. Щелкните правой кнопкой мыши скрипт в диспетчере файлов, выберите свойства и отметьте разрешение на выполнение на вкладке «Разрешения». Это решение подразумевает, что ваш скрипт может быть идентифицирован оболочкой как скрипт python. Для этого вы должны поместить #!/usr/bin/env python в первую строку файла.
1
ответ дан 25 May 2018 в 21:58
  • 1
    Спасибо за ваши предложения, и я попробовал их обоих. Я включил разрешение на выполнение. также префикс команды с помощью «python». Теперь он не дает вышеупомянутой ошибки, но ничего не делает. Я просмотрел все запущенные процессы и сценарий не запускается. – Dananjaya 22 April 2011 в 19:21
  • 2
    Звучит так, будто у вас есть другие ошибки. Это может быть вызвано тем, что скрипт работает с другим рабочим каталогом, а не с его основным каталогом. Попробуйте запустить ту же команду, что и панель запуска в терминале, и посмотрите, есть ли у вас исключения. – Egil 22 April 2011 в 20:31
  • 3
    Исключения отсутствуют. Скрипт работает нормально в терминале. – Dananjaya 22 April 2011 в 21:04
  • 4
    Я клонировал ваш репозиторий и получил gnome-terminal -e "python /home/egil/src/xkcd_viewer/xkcd_gui.py" для работы в качестве пусковой установки. Тем не менее, я не могу понять, почему выполнение скрипта напрямую дает перекрестье. – Egil 23 April 2011 в 00:58
  • 5
    Конечно, вам не хватает shebang в начале вашего скрипта. Первая строка должна читать #!/usr/bin/env python. Перекрестье происходит из команды import, которая запускается, потому что ваш скрипт читается как пакет команд, поскольку ему не хватает shebang, который объясняет, что он должен быть выполнен с помощью python. – Egil 23 April 2011 в 13:45

Кажется, что у вас нет прав на выполнение сценария. Существует два возможных решения:

  1. Префикс команды с помощью python, e. г. python /path/to/myscript.py вместо /path/to/myscript.py. Таким образом, интерпретатор python будет читать ваш скрипт вместо исполняемого сценария, вызывающего интерпретатор python, и разрешения на сценарий могут оставаться неизменными.
  2. Разрешить разрешения для сценария. Щелкните правой кнопкой мыши скрипт в диспетчере файлов, выберите свойства и отметьте разрешение на выполнение на вкладке «Разрешения». Это решение подразумевает, что ваш скрипт может быть идентифицирован оболочкой как скрипт python. Для этого вы должны поместить #!/usr/bin/env python в первую строку файла.
1
ответ дан 25 July 2018 в 22:10

Кажется, что у вас нет прав на выполнение сценария. Существует два возможных решения:

  1. Префикс команды с помощью python, e. г. python /path/to/myscript.py вместо /path/to/myscript.py. Таким образом, интерпретатор python будет читать ваш скрипт вместо исполняемого сценария, вызывающего интерпретатор python, и разрешения на сценарий могут оставаться неизменными.
  2. Разрешить разрешения для сценария. Щелкните правой кнопкой мыши скрипт в диспетчере файлов, выберите свойства и отметьте разрешение на выполнение на вкладке «Разрешения». Это решение подразумевает, что ваш скрипт может быть идентифицирован оболочкой как скрипт python. Для этого вы должны поместить #!/usr/bin/env python в первую строку файла.
1
ответ дан 26 July 2018 в 19:24

Кажется, что у вас нет прав на выполнение сценария. Существует два возможных решения:

  1. Префикс команды с помощью python, e. г. python /path/to/myscript.py вместо /path/to/myscript.py. Таким образом, интерпретатор python будет читать ваш скрипт вместо исполняемого сценария, вызывающего интерпретатор python, и разрешения на сценарий могут оставаться неизменными.
  2. Разрешить разрешения для сценария. Щелкните правой кнопкой мыши скрипт в диспетчере файлов, выберите свойства и отметьте разрешение на выполнение на вкладке «Разрешения». Это решение подразумевает, что ваш скрипт может быть идентифицирован оболочкой как скрипт python. Для этого вы должны поместить #!/usr/bin/env python в первую строку файла.
1
ответ дан 2 August 2018 в 03:39

Кажется, что у вас нет прав на выполнение сценария. Существует два возможных решения:

  1. Префикс команды с помощью python, e. г. python /path/to/myscript.py вместо /path/to/myscript.py. Таким образом, интерпретатор python будет читать ваш скрипт вместо исполняемого сценария, вызывающего интерпретатор python, и разрешения на сценарий могут оставаться неизменными.
  2. Разрешить разрешения для сценария. Щелкните правой кнопкой мыши скрипт в диспетчере файлов, выберите свойства и отметьте разрешение на выполнение на вкладке «Разрешения». Это решение подразумевает, что ваш скрипт может быть идентифицирован оболочкой как скрипт python. Для этого вы должны поместить #!/usr/bin/env python в первую строку файла.
1
ответ дан 4 August 2018 в 19:42

Кажется, что у вас нет прав на выполнение сценария. Существует два возможных решения:

  1. Префикс команды с помощью python, e. г. python /path/to/myscript.py вместо /path/to/myscript.py. Таким образом, интерпретатор python будет читать ваш скрипт вместо исполняемого сценария, вызывающего интерпретатор python, и разрешения на сценарий могут оставаться неизменными.
  2. Разрешить разрешения для сценария. Щелкните правой кнопкой мыши скрипт в диспетчере файлов, выберите свойства и отметьте разрешение на выполнение на вкладке «Разрешения». Это решение подразумевает, что ваш скрипт может быть идентифицирован оболочкой как скрипт python. Для этого вы должны поместить #!/usr/bin/env python в первую строку файла.
1
ответ дан 6 August 2018 в 03:47

Кажется, что у вас нет прав на выполнение сценария. Существует два возможных решения:

  1. Префикс команды с помощью python, e. г. python /path/to/myscript.py вместо /path/to/myscript.py. Таким образом, интерпретатор python будет читать ваш скрипт вместо исполняемого сценария, вызывающего интерпретатор python, и разрешения на сценарий могут оставаться неизменными.
  2. Разрешить разрешения для сценария. Щелкните правой кнопкой мыши скрипт в диспетчере файлов, выберите свойства и отметьте разрешение на выполнение на вкладке «Разрешения». Это решение подразумевает, что ваш скрипт может быть идентифицирован оболочкой как скрипт python. Для этого вы должны поместить #!/usr/bin/env python в первую строку файла.
1
ответ дан 7 August 2018 в 21:42

Кажется, что у вас нет прав на выполнение сценария. Существует два возможных решения:

  1. Префикс команды с помощью python, e. г. python /path/to/myscript.py вместо /path/to/myscript.py. Таким образом, интерпретатор python будет читать ваш скрипт вместо исполняемого сценария, вызывающего интерпретатор python, и разрешения на сценарий могут оставаться неизменными.
  2. Разрешить разрешения для сценария. Щелкните правой кнопкой мыши скрипт в диспетчере файлов, выберите свойства и отметьте разрешение на выполнение на вкладке «Разрешения». Это решение подразумевает, что ваш скрипт может быть идентифицирован оболочкой как скрипт python. Для этого вы должны поместить #!/usr/bin/env python в первую строку файла.
1
ответ дан 10 August 2018 в 09:56

Кажется, что у вас нет прав на выполнение сценария. Существует два возможных решения:

  1. Префикс команды с помощью python, e. г. python /path/to/myscript.py вместо /path/to/myscript.py. Таким образом, интерпретатор python будет читать ваш скрипт вместо исполняемого сценария, вызывающего интерпретатор python, и разрешения на сценарий могут оставаться неизменными.
  2. Разрешить разрешения для сценария. Щелкните правой кнопкой мыши скрипт в диспетчере файлов, выберите свойства и отметьте разрешение на выполнение на вкладке «Разрешения». Это решение подразумевает, что ваш скрипт может быть идентифицирован оболочкой как скрипт python. Для этого вы должны поместить #!/usr/bin/env python в первую строку файла.
1
ответ дан 13 August 2018 в 16:15
  • 1
    Спасибо за ваши предложения, и я попробовал их обоих. Я включил разрешение на выполнение. также префикс команды с помощью «python». Теперь он не дает вышеупомянутой ошибки, но ничего не делает. Я просмотрел все запущенные процессы и сценарий не запускается. – Dananjaya 22 April 2011 в 19:21
  • 2
    Звучит так, будто у вас есть другие ошибки. Это может быть вызвано тем, что скрипт работает с другим рабочим каталогом, а не с его основным каталогом. Попробуйте запустить ту же команду, что и панель запуска в терминале, и посмотрите, есть ли у вас исключения. – Egil 22 April 2011 в 20:31
  • 3
    Исключения отсутствуют. Скрипт работает нормально в терминале. – Dananjaya 22 April 2011 в 21:04
  • 4
    Я клонировал ваш репозиторий и получил gnome-terminal -e "python /home/egil/src/xkcd_viewer/xkcd_gui.py" для работы в качестве пусковой установки. Тем не менее, я не могу понять, почему выполнение скрипта напрямую дает перекрестье. – Egil 23 April 2011 в 00:58
  • 5
    Конечно, вам не хватает shebang в начале вашего скрипта. Первая строка должна читать #!/usr/bin/env python. Перекрестье происходит из команды import, которая запускается, потому что ваш скрипт читается как пакет команд, поскольку ему не хватает shebang, который объясняет, что он должен быть выполнен с помощью python. – Egil 23 April 2011 в 13:45

Другие вопросы по тегам:

Похожие вопросы: