그래픽 인터페이스에서 우분투 12.04의 Python 스크립트를 실행할 수 있나요?

그래픽 인터페이스에서 우분투 12.04의 Python 스크립트를 실행할 수 있나요?

우분투 Windows 시스템을 통해 Python 파일을 선택하고 실행하는 방법을 알아보려고 합니다. 저는 살면서 스크립트를 실행해본 적이 없고 이 일이 아주 낯설거든요.. 그래서 어렵지 않을 것 같아서 유튜브를 갔는데...

여기에 설명된 스크립트(및 지침) 사용: Ubuntu 터미널을 통해 Python 프로그램 생성, 저장 및 실행

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 프로그램을 실행하지 않는 이유를 아는 사람이 있나요??? 어쩌면 이런 것을 실행할 터미널이 있을까요???

답변1

Windows에서 파일 형식은 . 그러나 Linux(및 Ubuntu)에서 .py는 인간이 파일 종류를 파악하는 데 도움이 됩니다. 당신이 작성한 스크립트는 Python 스크립트이고 Python 인터프리터로 실행되어야 함을 Ubuntu에 알려야 합니다. 이 작업은 두 가지 방법으로 수행할 수 있습니다.

첫 번째python스크립트 이름 뒤에 호출할 수 있습니다 . 터미널을 열고 다음을 입력합니다.

python hellowworld.py

이것은 작동합니다.

두번째,그러나 GUI를 사용하고 두 번 클릭하여 실행하려고 합니다. 이를 위해서는 다음 줄이 Python 스크립트로 해석되어야 함을 Ubuntu에 알려주는 스크립트의 줄이 필요합니다. 이 첫 번째 줄은샤방선. 파이썬의 경우 다음과 같습니다:

#! /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

이름을 입력하면 스크립트가 완료되면서 터미널이 닫힙니다. 따라서 "안녕하세요 [당신의 이름]"은 너무 빨리 일어나서 눈으로 볼 수 없기 때문에 결코 볼 수 없습니다. 디스플레이가 표시된 후 스크립트가 일시 중지되고 닫힐 때까지 기다리도록 스크립트를 수정해야 합니다.

도움이 되었기를 바랍니다

답변2

문제를 재현하기 위해 먼저 시스템에 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. 그런 다음 아이콘을 두 번 클릭하면 작동했습니다.

답변3

그거 믿을 수 있어? 인정해야겠습니다. 내 우분투에 바이러스 같은 것이 있는 것 같습니다. 하지만 예, 저는 그렇게 했습니다.

Lucky1@babyCatsDesktop:~/shiite/livescript$ python rev.py

안녕하세요 세계

이름을 입력하세요: Dave

역추적(가장 최근 호출 마지막):

파일 "rev.py", 2번째 줄

vary = input("Enter your Name Please:  ")

파일 "", 첫 번째 줄, in

NameError: 이름 'Dave'가 정의되지 않았습니다.

Lucky1@babyCatsDesktop:~/shiite/livescript$

그러나 Python 터미널에서는 완벽하게 작동합니까? 나는 이런 일을 잘하지 못하고 가장 독특하면서도 일반적인 문제를 발견하는 것 같습니다.

답변4

Python 2(아마도 사용 중일 것임)에서는 동일하지 않습니다 input(). raw_input()귀하의 스크립트는 input()예제와 달리 를 사용합니다.

input()귀하의 의견을 받아들여 평가하려고 합니다. 네임스페이스에 "Dave"라는 개체가 없기 때문에 Python은 무엇을 해야할지 모릅니다. raw_input()그러나 입력을 문자열로 변환하므로 거의 모든 경우에 사용해야 합니다.

메모: Python 3에서는 raw_input()이름이 input().

오류가 발생하고 스크립트가 종료되므로 아무 일도 일어나지 않는다고 생각합니다. 이는 또한 오류 메시지나 인쇄되는 일반 디버깅 정보를 볼 수 있도록 항상 터미널에서 스크립트를 실행해야 하는 이유이기도 합니다.

따라서 스크립트를 사용하도록 변경 raw_input()하고 모든 버그가 제거될 때까지 터미널에서 실행한 다음 두 번 클릭해 보세요.

관련 정보