Basic Python - Troubleshooting (sublime text에서 python 실행하기)

우선 chapter3을 나가기전 며칠동안 골머리를 앓게했던 문제에 대해 언급하고자 한다.

크게 윈도우 환경에서 python을 동작시키는 방법2가지로 나눌 수 있다.

  1. www.python.org 로 들어가서 최신 python을 다운받기.

다운받고 새로 설치된 IDLE (Pthon 3.10 64-bit)를 실행하면 prompt명령창이 뜬다.
가장 간단한 방법이고 .py 확장자를 쉽게 저장할수 있다.

(이 범주안에 anaconda prompt라고 하는 또다른 통합버전의 파이썬을 설치할수도 있다. AI스쿨 기초AI과정에서 설치했었는데, 장점은 아나콘다(Anaconda)를 설치하면 대부분의 패키지들이 같이 설치되기 때문에 손쉽게 데이터 분석을 시작할 수 있다. 또한, 아나콘다를 활용하여 가상 환경을 만들고 필요한 패키지들만 설치해서 관리할 수 있다는 것이다.
https://www.anaconda.com

  1. IDE (통합개발환경)을 이용한다. (ex, visual studio, sublime text etc..)

IDE (통합개발환경)이란 무엇인가? 위키백과에서의 정의는 다음과 같다.

통합 개발 환경(統合開發環境, Integrated Development Environment, IDE)은 코딩, 디버그, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어이다. 종래의 소프트웨어 개발에서는 컴파일러, 텍스트 편집기, 디버거 등을 따로 사용했다. 이러한 프로그램들을 하나로 묶어 대화형 인터페이스를 제공한 것이 통합 개발 환경이다. 최근의 통합 개발 환경(IDE)은 그래픽 사용자 인터페이스(GUI) 응용 프로그램 개발용 고속 개발 도구가 많다.

소스코드 편집 기능이 들어간 소프트웨어라고 보면 되는데,

현재 내가 사용중인 sublime text라고 하는 코드 편집기도 IDE의 일종인데 사실 AI스쿨 교육과정중 강사의 추천으로 사용하기 시작하여 잘 쓰고 있다.
△ sublime text

실제 사용 점유율은 처참하긴 하지만,,

(reference : https://www.ciokorea.com/news/35590)

3.66%...

그래서 나 같은 경우에는 IDLE를 사용하여 실습하고 공부한 것을 저장할수 있지만

1. 주석처리의 용이성
2. 학습 데이터의 손쉬운 재현

이 2가지의 장점을 포기할수 없어 sublime text에서 python을 실습하고자 선택하였다.

sublime text는 각종 컴퓨터 언어들을 다 지원을 하지만, HTML, css, Javascript에서의 강력한 힘을 발휘하는 소스코드편집기라서 package control들을 깔아주어야 하고 초기 세팅을 거쳐야 한다.

아래 blog에 검색했던 한국말 자료중 가장 잘 설명이 되어 있었다.

(sublime text 설치 및 파이썬 적용 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=makessam&logNo=221239611576)


△ 설치 후에 python 작동 장면

일반 IDLE랑은 다른점은 code를 입력후 실행하기 위해서는 ctrl + b를 눌러줘야 실행을 한다.
아랫 부분은 연산을 실행한 결괏값인데 ctrl + b를 눌러서 나온 결과이다.

별다른 문제가 없이 작동하고 있던 찰나 input함수를 실행하기 위해서 넣었는데,

너 몇살이니?라는 문구를 넣었는데, 이는 즉 컴퓨터와 대화하듯이 티카타카가 되어야 하는데, 몇살인지 문구를 넣을수가 없었다.
(IDLE에서는 가능하다.)

즉, input함수같이 컴퓨터와 사용자간의 대화를 하듯 만드는 함수의 적용을 위해서는 추가적인 작업이 필요하였다.


REPL(read-eval-print loop) 또는 인터랙티브 톱레벨(interactive toplevel), 랭기지 셸(language shell)이라고 하는 단일 사용자의 입력(예: 단일 식)을 취하고 이를 평가(실행)하고 결과를 사용자에게 반환시키는 단순한 상호작용 컴퓨터 프로그래밍 환경을 구축해줘야 했다.

그래서 sublimeREPL: Python을 설치하였으나,

다음과 같은 문구가 생기며 실행이 되지 않았다.

Python was not found; run without arguments to install from the Microsoft Store, or disable this shortcut from Settings > Manage App Execution Aliases.

말인즉슨, Pyhon을 찾을수 없고, arguments(논의?)없이 MS store에서 설치를 위해 실행하고, Settings(설정)에서 mange app execution aliases영역으로 들어가서 shortcut(바로가기)를 비활성화하라는 의미였다.

사실 결론적으로 얘기를 하자면, 문구를 최대한 원문에 가깝게 해석을 하여 직접적으로 문구에서 나온 부분을 수정해주면 해결이 되는 문제였다.

우선은 가장 직접적인 해결방법이다.

  1. 설정(settings)을 들어간다.

    △영어로 setting을 검색해도 나온다.

  2. 앱으로 들어 간다.

  3. 앱실행 별칭 실행

  4. App installer 부분 (python.exe) 끔으로 설정후에

5.위에 있는 Python 3.10 (python.exe)는 켬으로 설정

끝이다.


△ 위의 스크린샷과 같이 Tools > SublimeREPL > Python > Python - RUN current file을 실행하면

티카타카를 할수 있는 input함수가 정상 동작됨을 알 수 있다.

Manage App Execution Aliases라는 부분은 앱 실행 별칭의 영어 명칭이었고 cmd나 prompt창에서 실행시나 프로그램안에서 다른 프로그램을 실행할시 별칭을 써서 실행을 시킬수 있는데,
위에서 보다시피 python.exe를 실행하여야 하는데 app installer가 엉뚱하게 실행이 되고 정작 python.exe는 실행이 되지 않는 상황이었다. 그래서 sublime text에서 동작 자체가 되지 않았다.

실제 그림에서처럼 python이나 python3 혹은 python3.10을 타이핑을 해도 똑같이 실행이 되며 중복으로 켬 설정을 하면 문제가 되지 않을까 생각할수도 있는데, 실행결과 전혀 문제가 되지 않았다. (그리고 한가지만 켬으로 설정해도 자동으로 전부 켬으로 설정이 되어 버린다.)

App Execution Aliases라는 용어나 arguments, shortcut같은 용어들은 일상생활에서 다른 의미로 많이 사용되고 직역을 하면 이상한 부분이 많다.

한글 버전의 윈도우를 쓰다보면 오히려 트러블 슈팅이 힘든 부분이 이런데에서 온다.

해결책은 내 영어실력을 과신하여 해결하려고 하면 해결할수 없고 번역기를 돌리고 검색을 해서라도 IT분야 특화 용어(terminology)로 받아들여서 외우고 익숙해져야 한다.

며칠동안 영어로 검색도 해보고 여러가지 온갖 삽질을 하면서 문제 해결을 할 수 있었다.

참고로 매번 GUI 방식으로 input함수를 실행하기 어려우니
개인지정 단축키로 편하게 사용할 수 있는 방법을 소개하고자 한다.

sublime text 개인지정 단축키 설정


△ 지정 단축키 사용 설정

Prefrences 탭 > Key bindings에 들어가면

세로로 양분화된 화면을 볼수 있는데, 왼쪽 부분은 default값으로 개인이 따로 설정을 변경할수 없다.

오른쪽 창에서 기존에 있던 대괄호[ ] 안에다가 이전에 있던 중괄호{ }뒤에 ,(쉼표)를 붙이고

{ "keys": ["ctrl+shift+x"], "command": "run_existing_window_command", "args":
    { 
        "id": "repl_python_run",
        "file": "config/Python/Main.sublime-menu"
    }
}

다음과 같은 코드를 입력해준다.

나 같은 경우에는 ctrl+shift+x라는 조합의 키로 설정을 하였는데, 이는 자유이다.
왼쪽 default값에 꽤 많은 단축키 조합들이 있는데, 중요한 단축키나 충돌이 일어나지 않는선에서 손이 편한 단축키를 설정하면 간편하게 REPL을 사용할수 있다. (불편함이 줄어든다.)

좋은 웹페이지 즐겨찾기