я могу запустить скрипт Python в Ubuntu 12.04 из графического интерфейса

Я пытаюсь выяснить, как выбрать и запустить файл Python через систему Windows Ubuntu. Я никогда не запускал сценарии в своей жизни, и я очень новичок в этом .. Поэтому я пошел на YouTube, потому что я чувствовал, что это не должно быть сложно, но ...

Использование сценария (и инструкции), описанные здесь: Создание, сохранение и запуск программы Python через терминал Ubuntu

print"hello world"
vary = raw_input("Enter your Name")
print ("hey" + vary)

Я попытался открыть файл, дважды щелкнув по нему (снова и снова) ... и он потерпел неудачу, не будет запрашивать мой ввод, просто открыл терминал и исчез (закрыл оболочку), и все ... но IDLE смог прекрасно его запустить, так что я знаю, что это не скрипт. Когда я использовал VIM, чтобы создать его как файл и запустить его оттуда, я получил такой вывод:

Traceback (most recent call last):
  File "shiite/livescript/rev.py", line 2, in <module>
    vary = input("Enter your Name Bitch:  ")
  File "<string>", line 1, in <module>
NameError: name 'Dave' is not defined

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

Кто-нибудь знает, почему терминал Ubuntu не будет запускать программы на python ??? Может быть, есть терминал, который будет запускать что-то вроде этого ???

2
задан 14 April 2013 в 00:39

4 ответа

Ты можешь в это поверить? Я должен признать, я думаю, что в моей Ubuntu есть вирус или что-то еще ... но да, я сделал это и это: ] Hello WOrld

Введите ваше имя. Пожалуйста: Dave

Traceback (последний вызов был последним):

Файл "rev.py", строка 2, в

[ 110]

Файл "", строка 1, в

NameError: имя 'Dave' не определено

lucky1 @ babyCatsDesktop: ~ / shiite / Lifecript $

Все же это работает на терминале Python отлично? Я не очень хорош в этом деле и, похоже, нахожу самые уникальные, но часто встречающиеся проблемы там.

0
ответ дан 14 April 2013 в 00:39

В Python 2 (который вы, вероятно, используете) input() и raw_input() не совпадают. Ваш сценарий использует input(), в отличие от примера.

input() принимает ваш вклад и пытается его оценить. Поскольку в вашем пространстве имен нет объекта «Dave», Python не знает, что делать. raw_input() однако преобразует ваш ввод в строку, это следует использовать почти во всех случаях.

Примечание : в Python 3 raw_input() было переименовано в input().

Вы думаете, что ничего не происходит, потому что выдается ошибка и скрипт завершается. Это также причина, по которой вы всегда должны запускать скрипты из терминала, чтобы вы могли видеть сообщения об ошибках или общую информацию отладки, которая выводится на печать.

Итак, измените ваш сценарий на использование raw_input() и запускайте его из терминала, пока не получите все ошибки, затем попробуйте дважды щелкнуть по нему.

0
ответ дан 14 April 2013 в 00:39

В Windows типы файлов определяются по последним 3 символам после. Тем не менее, в Linux (и в Ubuntu) .py только помогает нам понять, что это за файл. Вы должны сказать Ubuntu, что скрипт, который вы написали, является скриптом Python и должен запускаться с интерпретатором Python. Вы можете сделать это двумя способами:

Сначала вы можете позвонить python, за которым следует имя сценария. Откройте терминал и введите:

python hellowworld.py

Это будет работать.

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

#! /usr/bin/python

Обратите внимание на #! в начале. Первые два символа вашего сценария должны быть теми двумя, за которыми следует остальная часть строки. Итак, ваш скрипт будет выглядеть так:

#! /usr/bin/python

print"hello world"
vary = raw_input("Enter your Name")
print ("hey " + vary)

Как вы заметили, скрипт должен быть помечен как исполняемый. Для этого щелкните правой кнопкой мыши значок скрипта и перейдите в Свойства> Разрешения и установите флажок Разрешить выполнение файла как программы .

Теперь, когда вы дважды щелкните скрипт, он покажет вам окно с вариантами выбора:

Run in terminal, Display, Cancel, Run

. попробуйте Run in terminal. Он откроет терминал и покажет вам приглашение:

Enter your name

Когда вы введете свое имя, терминал закроется по завершении сценария. Таким образом, вы никогда не увидите «эй [ваше имя]», поскольку это произойдет слишком быстро, чтобы ваши глаза могли это заметить. Вам придется изменить сценарий так, чтобы он приостанавливался и ждал, пока вы не отклоните его после того, как увидите дисплей.

Надеюсь, это поможет.

0
ответ дан 14 April 2013 в 00:39

Чтобы воссоздать вашу проблему, я сначала проверил, что в моей системе установлен Python.

xaap001@ubuntu:~$ which python
/usr/bin/python
xaap001@ubuntu:~$ python
Python 2.7.3 (default, Aug  1 2012, 05:14:39) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

Затем я взял код Python «hello world», который вы разместили выше, и сохранил его в файл с именем helloWorld.py. Я не изменил разрешения для этого файла после его сохранения. Из терминала я попробовал следующее:

xaap001@ubuntu:~$ python helloWorld.py
hello world
Enter your NameAaron
heyAaron

Похоже, это сработало. Из терминала вам просто нужно предварять все скрипты Python с помощью python.

Редактировать: Я решил попробовать и заставить это работать с рабочего стола, создав ярлык на рабочем столе, как описано в этом вопросе / ответе: Ярлык на рабочем столе для создания нового ярлыка на рабочем столе ничего не делает

Я установил «команду» на: python /home/xaap001/helloWorld.py

Это дало мне значок на рабочем столе, на котором я мог щелкнуть. И это ничего не сделало. Я проверил фактическое содержимое файла .desktop (ярлык):

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_US]=python
Name[en_US]=Python helloWorld
Exec=python /home/xaap001/helloWorld.py
Name=helloWorldPy
Icon=python

Я заметил настройку Terminal=false и изменил ее на Terminal=true. Тогда двойной щелчок по иконке сработал.

0
ответ дан 14 April 2013 в 00:39

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

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