코디니팩의 파이썬 개발 환경
이 문서는 코디니팩 라즈베리파이 4의 파이썬에 대한 설명입니다.
- 라즈베리파이 4에 2가지 버전의 파이썬이 설치되어 있어, 사용법을 설명합니다.
- 또, 많은 분들이 파이썬 에디터로써 사용중인, 토니(Thonny) 파이썬의 설정법을 설명합니다.
- 라즈베리파이 4에 대한 설명이지만, 라즈베리파이 3 사용자에게도 도움이 되는 내용입니다.
파이썬의 버전
-
파이썬을 개발할 때 설치된 파이썬의 버전을 확인하는 것이 좋습니다.
-
코디니팩에서는 파이썬 3.x 버전을 지원합니다.
- 라즈베리파이 3은 3.5를 지원하고
- 라즈베리파이 4는 3.5와 3.7을 지원합니다.
- 혼란을 줄이려면 라즈베리3과 4에서 똑같이 3.5만 지원하는 것이 좋겠지만, 보다 최신 버전의 파이썬을 사용하고 싶은 사용자를 위해 라즈베리파이 4에서는 3.7을 추가로 지원하고 있습니다.
여러 버전의 파이썬 사용하기
-
라즈베리파이 4에 파이썬 3.7을 추가 지원한 이유는, 사용자에게 보다 최신 버전의 파이썬도 사용할 수 있게 하기 위함이었는데, 의도치 않게 초보자분들에게는 더 어려워진 측면이 있습니다.
-
코디니팩, 라즈베리파이 4를 사용하는 분들은,
여러 버전의 파이썬
을 다루는 방법을 이해하면 파이썬 학습에 도움이 될 것 같습니다. 이것은 코디니팩 만의 얘기가 아닙니다. PC에서도 여러 버전의 파이썬이 설치될 수 있습니다. -
규칙이 간단하여 어렵지 않게 이해할 수 있을 것입니다.
-
코디니팩의 파이썬은 3.5와 3.7 두 개의 버전이 있는데, python3 명령을 실행하면 어떤 파이썬이 실행될까요?
-
파이썬의 버전은
python3 --version
명령으로 확인할 수 있습니다.
$ python3 --version
Python 3.7.3
- 출력 결과가
Python 3.7.3
이므로 파이썬 3.7임을 알 수 있습니다.python3.7 --version
명령을 실행해보면 동일한 결과를 얻을 수 있습니다.
$ python3.7 --version
Python 3.7.3
-
python3
만 있으면 되지 햇갈리게python3.7
도 있을까 생각할 수 있습니다.python3
은python3.7
의 바로가기 입니다.python3
은 실체가 있는 것이 아니고python3.7
에 연결만 시켜놓은 것입니다. -
파이썬 3.5는 어떻게 실행될지 예상이 되시나요?
python3.5 --version
를 실행하면 됩니다.
$ python3.5 --version
Python 3.5.4
-
파이썬 3.5에서 실행되는 코드는 3.7에서도 실행이 가능합니다. 하지만 반대는 항상 성립하는 것은 아닙니다. 3.7에서 처음 만들어진 기능인 경우 3.5에서 사용할 수 없습니다.
-
참고로 최신 버전의 Thonny는 3.5를 지원하지 않습니다. Thonny에서 3.5를 사용하고 있다면 예전 버전의 Thonny일 것입니다.
-
아래는 파이썬의 버전을 체크하는 예시 화면입니다.
-
아래는 파이썬 3.7과 3.5로 간단한 파이썬 파일을 실행해 본 모습입니다.
python3
바로가기 바꾸기
-
python3
이python3.7
을 가리키고 있는데,python3.5
를 가리키도록 변경할 수 있을까요? -
가능합니다. 권장하지는 않지만 방법은 말씀드리겠습니다.
-
파이썬 3.5나 3.7은 시스템에 설치된
시스템의 파이썬
입니다. python3이 python3.7을 가리키고 있으면, 시스템의 기본 파이썬 버전이 3.7이라고 표현합니다. -
기본 파이썬 설정
은 시스템의 설정이므로, 변경하려면 관리자 권한으로 실행해야 합니다. 그래서 설정하는 명령 앞에sudo
를 붙입니다. -
아래와 같이 변경할 수 있습니다.
# 기본 파이썬을 3.5로 바꾸기
$ sudo update-alternatives --set python3 /usr/bin/python3.5
# 기본 파이썬을 3.7로 바꾸기
$ sudo update-alternatives --set python3 /usr/bin/python3.7
시스템의 기본 파이썬은 바꾸지 않는 것이 좋겠습니다
. 다른 소프트웨어 설치시 문제가 발생할 수도 있습니다.
기본 파이썬을 변경하려면?
python3
이 파이썬 3.7을 가리키고 있어서 3.5로 실행할 수 없다는 질문을 받은 적이 있습니다.- 해결 방법은 의외로 간단합니다.
python3
으로 실행하지 말고,python3.5
로 실행하시면 됩니다. sample.py
파이썬 파일을 우리가 만들었다고 가정하고 다음과 같이 실행할 수 있습니다.
# 기본 파이썬 버전인 python3.7로 실행
$ python3 sample.py
# 명시적으로 3.7로 실행
$ python3.7 sample.py
# 명시적으로 3.5로 실행
$ python3.5 sample.py
- 원하는 파이썬 버전을 명시해주면 됩니다.
python3.7
로 입력하는 것이 불편하다고 생각되시나요? 그렇지 않습니다.- 인터넷의 어떤 문서를 보고
python3 sample.py
를 실행했다고 가정해보겠습니다.- 실제 실행되는 파이썬은 3.5일수도 있고, 시스템에 따라서 3.5, 3.6, 3.7, 3.8, 3.9 일 수도 있습니다.
- 또는 다른 3.x 버전의 파이썬일 수도 있습니다.
- 나열한 모든 파이썬에서 동작하면 다행인데, 그렇지 않다면 오히려 정보 부족으로 실행할 수 없습니다.
- 하지만 문서에서
python3.7
로 실행했다면,적어도 python3.7에서는 동작하겠구나
라고 생각할 수 있습니다. - 따라서
python3
보다python3.7
이 더 직관적입니다.
pip도 3.5와 3.7용으로 두개입니다.
- 인터넷에 있는 라이브러리를 설치할 때
pip3
명령을 사용합니다. - python 3.5가 설치될때 pip 3.5가 함께 설치되고, python 3.7이 설치될 때 pip 3.7이 함께 설치됩니다.
pip3
은pip3.5
나pip3.7
의바로가기
입니다.pip3
도 python3과 마찬가지 규칙으로 설치되고, 사용할 수 있습니다.pip3
으로 실행하기 보다는pip3.5
또는pip3.7
로 버전을 명시해서 실행하는 것이 좋습니다.
파이썬은 시스템 수준의 파이썬이지만 사용자용 pip3가 필요합니다.
- 시스템 수준의 파이썬에 일반 사용자 권한으로 뭔가를 설치할 수 있을까요?
- 불가능합니다.
pip3
로/usr/lib/python3.5
나/usr/lib/python3.7
같은 시스템 수준의 폴더에 뭔가를 설치하려면, 관리자 권한이 필요합니다. - 일반 사용자 계정으로 시스템 수준의 폴더에 설치할 수 없으므로,
일반 사용자가
pip3.x
를 실행할 때는 자동으로 자신의 홈폴더에 라이브러리를 설치합니다. pi
사용자가pip3.7 install requests
명령을 실행하면/usr/lib/python3.7
에 설치되는 것이 아니고/home/pi/.local/lib/python3.7
에 설치됩니다. 즉pi
사용자의 홈폴더 하위 경로에 설치되는 것입니다.- 파이썬 버전별로 각각 다른 폴더에 설치됩니다.
- 정리해 보면 다음과 같습니다.
# pi 사용자로 아래 명령을 실행
$ pip3.7 install requests
# /home/pi/.local/lib/python3.7/site-packages 에 설치됩니다.
$ pip3.5 install requests
# /home/pi/.local/lib/python3.5/site-packages 에 설치됩니다.
파이썬 버전별로 라이브러리들이 설치
되는 것을 이해하셨을 것 같습니다.- 간혹
pip3.5
로 설치한 것을,python3.7
에서 임포트하는 실수를 할 수 있습니다. 또는 반대로pip3.7
로 설치하고,python3.5
에서 임포트하는 실수를 하기도 합니다. - 이것이 안되는 이유는
파이썬 버전별로 라이브러리들이 관리
되기 때문입니다. - 아래는 설치했는데, 임포트할 수 없는 상황을 보여줍니다.
$ pip3.5 install requests
$ python3.7
>> import requests
ModuleNotFoundError: No module named 'requests'
- 이 부분만 주의한다면, 시스템에 여러 버전의 파이썬이 있어도 사용하는데 문제가 없을 것 같습니다.
- 오히려 여러 버전의 파이썬이 있는 것이 더 편리하게 느껴지는 분도 있을 것 같습니다.
내가 맘대로 바꿔도 되는 그런 파이썬은 없을까?
- 있습니다. 파이썬 가상환경(venv, Virtual Environment)을 이용하면 됩니다. 원하는 버전의 파이썬을, 설치하고, 삭제하는 것이 자유롭습니다. 가상환경은 사용자 공간에 설치되므로 관리자 권한이 필요없습니다.
- 여러 버전의 파이썬을 이용할 수 있는, 가상환경의 단점은 디스크 공간을 많이 차지하는 것입니다. SD 카드 기반의 라즈베리파이는 이 단점을 극복할 수 없으므로 가상환경을 사용하지 않습니다.
- 나중에 파이썬이 익숙해지면, SD 카드를 32GB 정도 되는 것으로 구매해서, 파이썬 가상환경을 도전해보는 것도 좋을 것 같습니다.
파이썬 에디터 - Thonny 파이썬
Thonny 실행하기
-
코디니팩 라즈베리파이4에 포함된 Thonny를 실행해보겠습니다.
-
메뉴에서 토니를 실행해주세요.
-
Thonny를 실행하면 대략 다음과 같은 모양으로 실행됩니다.
- Thonny는 한글 메뉴를 지원합니다.
- Thonny의 기본 파이썬 버전은
python3.7
입니다.
Thonny 설정화면
-
Thonny의
도구 메뉴
에서옵션
을 선택해주세요. 그러면 Thonny의 설정 화면이 열립니다. -
에디터의 언어를 원하는 언어로 설정할 수 있습니다. 기본값은
한국어
입니다 -
설정 화면에서
인터프리터
를 선택해주세요. -
인터프리터 탭에서 파이썬 버전을 선택할 수 있습니다. 기본값은
python 3.7
입니다. -
최신 버전의 Thonny는 더 이상
python 3.5
를 지원하지 않습니다. 만약 Thonny에서python 3.5
를 실행해야 한다면, 예전 버전의 Thonny를 설치해야 합니다.
코디니팩에서 아래 파이썬 예제를 실행해보세요.
EXAMPLES
End.