반응형


Sublime Text 3에서 Python 프로그래밍을 하기 위해 필요한 설정을 다루고 있습니다.




1. Python 설치


2. Sublime Text 3 설치


3. Sublime Text 3  기본 사용방법


4. Package Control


5. sublimeREPL 플러그인 설치


6. SublimeLinter 플러그인 설치


7. SublimeCodeIntel 플러그인 설치


8. 한글 관련 문제 해결


9. 외부 터미널에 실행 결과 보여주기




2016. 11

2017.  6. 28

2018.  7.   8

2019.  3. 14

2019.  3. 17

2019.  4. 12

2020.  2. 16

2020. 8. 22

2020. 9. 27



1. Python 설치

1.1. Windows


Python 설치시 다음 포스팅을 참고해보세요.


Windows에 Python2, Python3 설치 하는 방법

http://webnautes.tistory.com/1202



1.2. Ubuntu


디폴트로 Python이 설치되어 있습니다. 




2. Sublime Text 3 설치

2.1. Windows


Sublime Text 3 홈페이지에서 Windows용 Sublime Text 3를 다운로드 받아 설치해줍니다.

http://www.sublimetext.com/3 



Windows 64bit를 클릭하면 설치 파일이 다운로드되며 portanle version을 클릭하면 설치 없이 압축만 풀면 바로 쓸수 있는 압축파일이 다운로드 됩니다. 




2.2. Ubuntu

1. 서명키를 다운로드 받아서  등록합니다. Sublime Text 3 패키지를 다운로드 받아 설치시 패키지 검증에 사용됩니다.


$ wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -



2.  Sublime Text 3 패키지를 다운로드 받을 수 있는 apt 저장소를 추가합니다.


$ echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list



3. 패키지 리스트를 업데이트한 후, sublime-text 패키지를 설치합니다.


$ sudo apt-get update
$ sudo apt-get install sublime-text




3. Sublime Text 3  기본 사용방법


3-1. 처음 Sublime Text 3를 실행시켰을 때에는 Python 코드를 입력해도 하이라이트가 적용되지 않습니다. 

오른쪽 아래에 문서 종류가 Plain Text로 설정 되어 있기 때문입니다. 


Plain Text를 클릭하면 보이는 언어 목록에서 Python 선택해도 되지만 실행시켜보려면 파이썬 파일(py)로 저장을 해줘야 합니다. 



3-2. Ctrl + S를 눌러 적당한 위치에 helloworld.py로 저장합니다.

오른쪽 아래에 Python으로 변경되며 하이라이트(highlight)도 적용됩니다. 




3-3. Ctrl + B를 누르면 실행결과가 바로 보이지 않고 선택 메뉴가 보입니다.

Python을 선택해주면 되며 다음 번부터는 보이지 않게 됩니다. 




Sublime Text3 의 하단에 보이게 되는 결과창에서 실행 결과를 볼 수 있습니다.




3-4. 메뉴에서 Tool > Build System > Automatic이 체크되어 있기 때문에 파이썬 확장자인 .py로 파일을 저장했다면 앞에서 했던 과정대로 실행이 됩니다.




3-5. 작성할 프로그래밍 언어로 빈문서를 저장하고 작성을 시작하세요.

그래야 파이썬을 위한 하이라이트나 자동완성 기능을 활용해서 프로그래밍을 할 수 있습니다. 




3-6. 원하는 소스 파일을 탭에서 선택하여 Ctrl + B를 누르면 해당 파일이 실행됩니다. 

이런 방식으로 여러 개의 코드를 동시에 작성할 수 있습니다. 

 



Alt + Shift + 2 을 입력하면 창이  두 개로 분리됩니다. 




분할했던 창을 다시 하나로 보이게 하기 위해 Alt + Shift + 1을 입력합니다. 

분할 됐던 창이 탭으로 변환됩니다. 



4. Package Control

메뉴에서 Tools > Install Package Control을 선택합니다.

문제 없으면 아래와 같은 창이 보입니다. 


5. sublimeREPL 플러그인 설치


5-1. Sublime Text 3 하단에 파이썬 인터프리터 창을 열어 사용할 수 있게 해주는 플러그인입니다.  


Ctrl + Shift + P를 입력하여 보이는 입력창에 Install package를 입력합니다.

Package Control:Install Package 항목을 선택합니다.




입력창에 sublimerepl을 입력하고 아래 화면처럼 첫번째 항목으로 보이는 SublimeREPL를 선택합니다.  





5-2. 플러그인을 보여줄 화면을 다음 두가지 방식으로 할 수 있습니다. 


첫번째 방식은 창 하나 전체를 인터프리터로 사용하는 것입니다.

메뉴에서 Tools > SublimeREPL > Python > Python을 선택합니다.





이제  파이썬 인터프리터에서 프로그래밍하듯이 할 수 있습니다. 




5-3. 파이썬 프로그램을 실행시킬때  sublimeREPL를 사용하는 방법입니다.


우선 단축키를 등록해야 합니다.  메뉴에서 Preferences > Key Bindings를 선택하고 , 오른쪽에 보이는 창에서 [ ]사이에 아래 빨간색줄을 붙여넣기 해줍니다.  


출처:https://forum.sublimetext.com/t/the-new-build-wont-let-me-use-a-keybinding-to-run-sublimerepl/42368/24 

 

[

{

    "keys": ["f5"],

  "command": "repl_open",

                "caption": "Python - RUN current file",

                "id": "repl_python_run",

                "mnemonic": "R",

                "args": {

                    "type": "subprocess",

                    "encoding": "utf8",

                    "cmd": ["python", "-u", "$file_basename"],

                    "cwd": "$file_path",

                    "syntax": "Packages/Python/Python.tmLanguage",

                    "external_id": "python",

                    "extend_env": {"PYTHONIOENCODING": "utf-8"}

                }

}

]





5-4.Ctrl + S를 눌러 저장하고 창을 닫은 후, 파이썬 코드가 열린 창에서 위에서 등록한 F5를 입력하면 실행 결과를 새로운 탭에 보여줍니다. 





5-5. sublimeREPL을 설치하면 좋은 점은 프로그램에서 키보드 입력이 필요한 경우입니다.  

디폴트로 제공되는 Ctrl + B를 눌러 실행하면 입력을 요구하는 input: 문자열은 보이지만 hi라고 입력하고 엔터를 입력해도 코드 상의 다음 줄이 실행되지 않습니다. 




방금 등록한 F5를 눌러서 sublimeREPL에서 제공하는 기능을 사용하면  hi 입력 후, 엔터를 입력했을 때 코드 상의 다음 줄이 정상적으로 실행되어 해당 문자가 에코됩니다.  





sublimeREPL 사용하여 Python 코드 실행시  문제가 있는 경우( 멈춤 현상, 출력 딜레이) Ctrl + B를 눌러서 실행하세요. 

“9. 외부 터미널에 실행 결과 보여주기”를 설정해놓으면 외부 터미널에서 실행되게 됩니다.

6. SublimeLinter 플러그인 설치


6-1. SublimeLinter은 실시간 문법 검사를 제공하는 플러그인입니다. 


앞에서 소개한대로 Ctrl + Shift + P를 입력하여 보이는 입력창에 Install을 입력합니다.

Package Control:Install Package 항목을 선택합니다.


입력창에 SublimeLinter를 검색해서 설치합니다.




6-2. 설치를 완료하려면 추가 작업이 필요합니다.

 



6-3. Ctrl + N을 눌러 새로운 파일을 엽니다. 

 https://bootstrap.pypa.io/get-pip.py  를 방문하여 보이는 코드를 복사하여 Sublime Text에 붙여넣기를 합니다.  

Ctrl + S 를 입력하여 get-pip.py 이름으로 저장해 주고, F5키를 눌러서  실행시킵니다. 




문제 없이 설치되면 "Successfully installed pip-20.0.2 wheel-0.34.2" 메시지가 보입니다. 




6-4. 명령 프롬프트를 실행시켜 다음 한 줄을 입력 후 엔터를 입력합니다. 


pip3 install flake8




6-5. Ctrl + Shift + P를 입력하여 보이는 입력창에 Install을 입력합니다.

Package Control:Install Package 항목을 선택합니다.


SublimeLinter-flake8를 검색하여 설치합니다.

설치완료되면 Sublime Text를 종료시켰다가 다시 실행시킵니다.




6-6. 앞에서 작성했던 코드를 약간 수정하면 에러를 발생한 줄 앞에 빨간 동그라미가 보입니다. 




다시 문법에 맞게 수정해주면 해당 줄에 있던 빨간 동그라미가 사라집니다.




6-7. 동시에 여러 개의 문법 에러 발생해도 하나씩만 보여줍니다. 

하나를 해결해야 다음 에러를 보여주는 방식입니다.


아래 예제에서도 두번째 줄 에러를 해결해야 첫번째 줄 에러가 표시됩니다. 




6-8. 실시간 문법 검사가 아닌 코드를 저장할 때만 검사하도록 바꾸려면

Sublime Text 3의 메뉴에서 Preferences > Package Settings > SublimeLinter > Settings를 선택합니다.


오른쪽 창에 다음 내용을 입력합니다.


// SublimeLinter Settings - User
{
  "lint_mode": "save",
}



  

실시간 문법 검사때와 마찬가지로 코드를 저장할 때 하나의 에러만 표시됩니다. 




7. SublimeCodeIntel 플러그인 설치


7-1. SublimeCodeIntel 플러그인은 키워드 입력도중에 자동완성 가능한 키워드들을 보여줍니다. 


Ctrl + Shift + P를 입력하여 보이는 입력창에 Install을 입력합니다.

Package Control:Install Package 항목을 선택합니다.


SublimeCodeIntel을 검색하여 설치를 해줍니다. 




설치가 완료된 후…




7-2. if를 입력하면 자동완성 팝업이 보입니다. if를 선택하고 엔터를 입력하면 




기본 구조를 완성해 줍니다. 





8. 한글 관련 문제 해결

글 수정한 시점인 2020.8.22일에는 윈도우 10 버전 2004에서는 이 문제가 해결된 듯보입니다.


8-1. 한글 입력시 한글자 늦게 입력되는 현상(다음 글자 입력시 바로 전에 입력한 글자가 보입니다.)을 해결하기 위해 IMESupport 패키지를 설치합니다.


Ctrl + Shift + P를 입력하여 보이는 입력창에 Install을 입력합니다.

Package Control:Install Package 항목을 선택합니다.


IMESupport을 검색하여 설치를 해줍니다. 


완벽하게 해결은 안되지만 없는 것 보다는 낫습니다.




8-2. 한글 폰트 설정을 위해  메뉴에서 Preferences  > Settings 을 선택합니다.

두개의 창 중 오른쪽에 있는 User에 다음 내용을 입력합니다.


D2Coding 대신에 원하는 폰트이름을 입력하면 됩니다.


{
    "font_face": "D2Coding",
    "font_size": 12,
    "ignored_packages":
    [
        "Vintage"
    ],

    //현재 커서 있는 줄 강조
    "highlight_line": true,

    //탭간격
    "tab_size": 4,
    "translate_tabs_to_spaces": true,

}



저장하면 바로 폰트가 반영됩니다. 




9. 외부 터미널에 실행 결과 보여주기


1. 메뉴에서 Tools > Build System > New Build System을 선택한 후, 다음 내용으로 바꿉니다. 


{
    "selector": "source.python",
    "windows": {
        "shell_cmd": "start \"$file_name\" cmd /c \"python $file_name & pause\"",
    },
    "linux": {
        "shell_cmd": "xterm -T \"$file_name\" -e \"python $file_name; echo Press enter to exit... & read\"",
    }
}




2. Ctrl + S를 눌러서  파일 이름을  new_python.sublime-build로 해서 저장합니다.




3. 메뉴에서 Tools > Build System > new_python을 선택합니다. 



4. Ctrl + Shift +  b 를 누르고 보이는 창에서 new_python을 선택합니다.


 윈도우의 경우 명령 프롬프트, 리눅스의 경우 터미널에 실행결과가 보입니다. 



참고

https://forum.sublimetext.com/t/how-to-take-user-input-in-console-window-for-python-program/23226 





반응형

포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
댓글로 알려주시면 빠른 시일내에 답변을 드리겠습니다.

여러분의 응원으로 좋은 컨텐츠가 만들어집니다.
지금 본 내용이 도움이 되었다면 유튜브 구독 부탁드립니다. 감사합니다 : )

유튜브 구독하기


제가 쓴 책도 한번 검토해보세요.

  1. 이전 댓글 더보기
  2. 질문자 2017.06.26 11:27

    sublimeREPL 플러그인 설치 이후에 기능들을 실행해 보려고 하니깐

    FileNotFoundError(2, '지정된 파일을 찾을 수 없습니다.', None, 2) 라고 오류가 뜨는데 이유가 무엇일까요?

    제가 해당 툴을 D드라이브에 설치했긴했는데 그래서 그런건가요?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2017.06.28 11:07 신고

      디폴트 설정으로 설치해서 다시 해봤는데 문제가 발견되지 않아서요..

      경로와는 상관없는 걸로 알고 있는데...
      혹시 설치 경로에 한글 폴더 이름이 있나요?

  3. IK 2017.10.07 19:19

    Thanks for your detail information.
    It's a very useful.

  4. 테크니컬아티스트수련생 2017.12.11 08:14

    감사합니다! 굉장히 좋은 기능이 많네요.
    많이 배우고 갑니다!

  5. Sungho 2018.01.30 23:23

    커멘드 창에서 pip2.7 install flake8 실행이 안되던데, 혹시 Path 가 지정되어 있어야 하나요?
    아니면 특정한 폴더로 가야하나요? Sublime Text 3 설치된 폴더에서 쳐봐도 안되더라고요.
    나머지는 모두 이상없이 그대로 진행되었습니다. 좀 알려주시면 감사하겠습니다.

  6. Snd 2018.07.07 20:50

    안녕하세요. 좋은 정보 감사합니다.

    그런데 제가 flake8lint 를 라이브로 말고 저장할 때만 보고 싶은데요, Tools 에도 설정이 없어서

    직접 설정 파일 창? 을 열고 싶은데 방법을 알 수 있을까요?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2018.07.08 20:25 신고

      포스팅에 변경된 사항을 반영했습니다.
      6-8을 참고해보세요..

    • Snd 2018.07.10 17:47

      아 그걸 못 찾고 있었네요. 감사합니다 !!!

  7. Favicon of http://asdf BlogIcon aNoob 2018.10.16 05:05

    와아 진짜 감사합니다. 영어로도 못 찾은 게 여기에 다 있는 것 같네요.. 포기할까 싶었는데, 친절한 설명 감사합니다.

  8. 랄랄라 2018.12.07 17:10

    감사합니다. 덕분에 유익했습니다.

  9. Harenkei 2018.12.14 15:39

    안녕하세요. 유익한 포스트 정말 큰 도움이 되었습니다.
    하지만 좀 문제가 생겨서 댓글로 질문 드립니다.
    sublimeREPL을 검색해도 나오지 않습니다...

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2018.12.14 17:44 신고

      메뉴에서 Preferences > Package Settings에 SublimeREPL 항목이 있지 않나 보세요

  10. 2019.03.14 18:49

    비밀댓글입니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.03.14 23:38 신고

      기존 것을 지우고 해보았습니다.

      이유는 알 수 없지만 팔렛트창과 단축키가 동작안하네요..

      수동으로 메뉴에서 선택하여 진행하는 것을 추가해두었습니다.

    • MangBaam 2019.03.15 00:35

      빠른 답변 감사드립니다 ㅎㅎ 덕분에 임시적으로 플러그인 사용 할수 있게 되었네요.. 좀더 원인을 찾아봐야 할 것 같습니다!! 다시한번 감사합니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.03.17 10:17 신고

      해결되었습니다. 수정된 글을 다시 검토해보세요.

    • MangBaam 2019.03.18 01:40

      덕분에 잘 작동하네요!! 정말 감사합니다. 블로그 자주 들를게요 ㅎㅎ

  11. Snd 2019.04.12 20:02

    안녕하세요. 파이썬 빌드 했을 때 새로운 윈도우콘솔창에서 입력, 출력 하는 방법은 없나요?

  12. corin2 2019.05.06 22:32

    선생님... 도움이 필요합니다...
    제가 리눅스로 서브라임텍스트를 이용해 파이썬 작업을 하려고 하는데 sublime text 3가 python3를 기본적으로 지원해주지 않더라고요...
    그래서 윈도우와는 다르게 우분투에서는 컴파일러를 찾지 못하고 에러가 발생합니다
    이거는 package중에 python3가 있길래 어떻게든 해결했는데 입출력때문에 sublimeREPL 사용하려하니까 이놈이 또 python3를 지원하지 않네요?
    전 이대로 포기해야하는겁니까... 선생님의 혜안이 필요합니다 도저히 혼자선 못하겠어요
    https://askubuntu.com/questions/1063923/sublime-3-when-trying-to-run-compile-python-code-python-command-not-found-e
    이건 해결방법 찾다 발견했습니다. 제가 글솜씨가 짧아서 이해 안되시면 요놈으로라도...

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.05.06 23:09 신고

      윈도우에서는 파이썬2와 파이썬 3중 하나를 설치하여 해결할 수 있지만 우분투에선 파이썬2와 파이썬3가 디폴트로 설치되기 때문인 듯합니다.



      다음 글처럼 파이썬3를 위한 새로운 빌드시스템을 만드세요.
      https://medium.com/@hariyanto.tan95/set-up-sublime-text-3-to-use-python-3-c845b742c720

  13. bbi_yak 2019.10.25 22:22

    파이썬 뉴비에요. 무슨 에디터를 설치할까 찾다가 서브라임 텍스트를 골랐는데, 중간중간 막히다 겨우 끝봤네요^^
    계속 이런 포스팅 많이 해 주세요!

  14. dear_me 2020.01.16 14:02

    SublimeLinter 설치시 새로운 파일을 열고 코드를 복사하여
    get-pip.py 이름으로 저장하고 ctrl + b 를 입력하였는데
    아래 오류가 발생합니다. 해결책 알수 있을까요?

    ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/local/bin/pip'
    Consider using the `--user` option or check the permissions.

  15. 짱민 2020.02.13 17:28

    package control에 가서 텍스트를 복사하려고 했는데 저는 아무리 사이트에 들어가봐도 텍스트가 안보이네요 ㅠㅠㅠㅠ

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.02.13 17:34 신고

      방법이 바뀌었네요. 링크 접속하여 나온대로 하면 됩니다

    • 짱민 2020.02.13 22:12

      Python was not found but can be installed from the Microsoft Store: https://go.microsoft.com/fwlink?linkID=2082640[Finished in 0.2s]

      실행을 해보려고 하니깐 이런식으로 나오네요.. 파이썬이 안깔린것도 아닌데(3.8버전) 그래서 저 링크로 들어가보니깐 3.7버전이 있고.. 이게 무슨 일일까요

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.02.14 08:45 신고

      파이썬설치시 Path를 추가했나요? 명령 프롬프트에서 python이 실행가능한지 확인해보세요

  16. 김현철 2020.02.16 16:57

    안녕하세요..
    본문하고는 관계없지만 질문 좀 드려도 될까요 ?

    멈춤님 덕분에 작년에 앱도 만들고, 애드몹 광고도 달고 운영중에 있는데요..
    애드몹 광고가 자꾸 게제제한(일시정지)를 받게 돼네요..
    그래서 다른광고(카카오 애드 핏)를 올릴까 생각하고 2개월정도 찾아봤는데요..
    블로그광고를 올리는 방법은 많이 있는데..
    안드로이드에 올리는 방법은 아무리 찾아봐도 없어서요.. (유튜브, 블로그, 기타등등)

    혹시, 시간 되실때 포스팅한번 부탁드려도 될까요..

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.02.16 17:13 신고

      아래 링크를 보고 진행하면 될 듯합니다.
      https://github.com/adfit/adfit-android-sdk/blob/master/docs/GUIDE.md

  17. 김현철 2020.02.16 17:38

    매번 감사합니다.. ^^


  18. 2020.05.24 14:19

    5-4에서 이렇게 뜨는데 C:\Users\Administrator\AppData\Local\Programs\Python\Python35\python.EXE: can't open file '$file_basename': [Errno 2] No such file or directory

    어떻게 해야하나요 ㅠ?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.05.24 14:29 신고

      파이썬 코드를 확장자 py인 파일로 저장하고..

      해당 코드가 보이는 상태에서 F5를 눌렀나요?

    • 2020.05.24 14:41

      Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32
      Type "help", "copyright", "credits" or "license" for more information.
      >>> print('hello')
      hello
      >>>
      이 창에서 열고 py로 저장하였습니다. ㅠ

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.05.24 14:44 신고

      3-2처럼 Sublime Text 3에 파이썬 코드를 입력한 후, Ctrl + S를 눌러 확장자가 py인 파일로 저장후 해야 합니다.

  19. 2020.05.24 14:48

    5-5에서 text = input("input: ")
    print (text)이렇게 실행했는데
    input: 이라고 뜨고
    hi는 안 뜨는데 맞는 건가요?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.05.24 14:50 신고

      input:이라고 뜨면 hi라고 입력하고 엔터를 눌러보세요.. 그러면 hi라고 뜰겁니다

    • BlogIcon 2020.08.06 09:49

      input입력란 까지는 확인했는데요.

      그 새로 열린 창에서 hi가 입력이 안되네요.
      아예 영어입력이 안되요...왜그렇죠?

  20. 서윤 2020.05.24 15:01

    텐서플로우를 이용하려고 해서 파이썬 3.5를 다운받고 명령프롬프트를 열어서 pip3 install flake8을 설치하였는데 ERROR: Package 'zipp' requires a different Python: 3.5.2 not in '>=3.6'라고 오류가 나는데 파이썬 3.6을 재설치하고 다시 싹 다 해야하나요? ㅜ

  21. 서윤 2020.05.24 15:05

    파이썬을 삭제하고 다시 설치하기엔 텐서플로우도 다시 재설치해야하는 건가요? ㅜ 3.5에서는 sublime을 사용할 수 없는건가요 ㅠ?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.05.24 15:11 신고

      파이썬을 지우고 다시 설치하면 텐서플로우도 재설치해야 합니다

      flake8 설치해야하는 SublimeLinter 플러그인을 사용안한다면 파이썬 3.5를 사용할 수 있을듯합니다.

+ Recent posts