Я пытаюсь выяснить, как выбрать и запустить файл 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 ??? Может быть, есть терминал, который будет запускать что-то вроде этого ???
Ты можешь в это поверить? Я должен признать, я думаю, что в моей Ubuntu есть вирус или что-то еще ... но да, я сделал это и это: ] Hello WOrld
Введите ваше имя. Пожалуйста: Dave
Traceback (последний вызов был последним):
Файл "rev.py", строка 2, в
[ 110]Файл "", строка 1, в
NameError: имя 'Dave' не определено
lucky1 @ babyCatsDesktop: ~ / shiite / Lifecript $
Все же это работает на терминале Python отлично? Я не очень хорош в этом деле и, похоже, нахожу самые уникальные, но часто встречающиеся проблемы там.
В Python 2 (который вы, вероятно, используете) input()
и raw_input()
не совпадают. Ваш сценарий использует input()
, в отличие от примера.
input()
принимает ваш вклад и пытается его оценить. Поскольку в вашем пространстве имен нет объекта «Dave», Python не знает, что делать. raw_input()
однако преобразует ваш ввод в строку, это следует использовать почти во всех случаях.
Примечание : в Python 3 raw_input()
было переименовано в input()
.
Вы думаете, что ничего не происходит, потому что выдается ошибка и скрипт завершается. Это также причина, по которой вы всегда должны запускать скрипты из терминала, чтобы вы могли видеть сообщения об ошибках или общую информацию отладки, которая выводится на печать.
Итак, измените ваш сценарий на использование raw_input()
и запускайте его из терминала, пока не получите все ошибки, затем попробуйте дважды щелкнуть по нему.
В 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
Когда вы введете свое имя, терминал закроется по завершении сценария. Таким образом, вы никогда не увидите «эй [ваше имя]», поскольку это произойдет слишком быстро, чтобы ваши глаза могли это заметить. Вам придется изменить сценарий так, чтобы он приостанавливался и ждал, пока вы не отклоните его после того, как увидите дисплей.
Надеюсь, это поможет.
Чтобы воссоздать вашу проблему, я сначала проверил, что в моей системе установлен 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
. Тогда двойной щелчок по иконке сработал.