Skip to content

python 설치 및 셋업

python 3.6 설치

  • 홈브루를 통해 파이선 3.6설치하자.(맥북)
  • Error: python contains a recursive dependency on itself: 에러가 발행하여 --ignore-dependencies 옵션을 추가하였다.
  • brew 의 switch 명령은 설치된 패키지의 버전을 선택할 수 있게 해 준다. 참고: https://www.44bits.io/ko/post/install-specific-version-package-homebrew
$ brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb
$ brew switch python 3.6.5_1
  • macOS에 기본 설치된 파이썬(/Library/Frameworks/Python)이 아닌, homebrew로 설치한 파이선이(/usr/local/bin/python3) 실행되는 것을 확인한다.
$ which python3
/usr/local/bin/python3

패키지 설치와 관련한 몇가지 유용한 툴 추가 설치

  • cmake, pkg-config: 빌드파일 관리
  • wget: 파일 다운로드 툴
$ brew install cmake pkg-config wget

pip 설치

$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python3 get-pip.py

virtual environment

참고: https://realpython.com/python-virtual-environments-a-primer/
* virtualenv와 virtualenvwrapper 를 사용한다.

$ sudo pip3 install virtualenv virtualenvwrapper
$ sudo rm -rf ~/get-pip.py ~/.cache/pip
  • bash_profile 을 수정해 주어야한다.(mac) linux의 경우 '~/.profile' 파일을 수정한다.
$ nano ~/.bash_profile
...아래 내용을 추가...
# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
  • source 명령을 사용하면 로그오프-로그온 하지 않아도 바로 적용할 수 잇다.
$ source ~/.bash_profile
  • virtualenvwrapper 에서 사용가능한 주요 명령은 아래에...
  • mkvirtualenv : Used to “make a virtual environment”
  • rmvirtualenv : Destroys a virtual environment
  • workon : Activates a virtual environment
  • deactivate : Deactivates the current virtual environment

jupyter notebook

python 코드를 입력하고 바로 실행해 볼 수 있는 사용자친화적인 개발환경. ipython(interactive python)이라는 파이썬 인터프리터에 기반하며, 웹브라우저을 통해 실행된다. 입력즉시 실행되지만 한줄씩 입력해야하는 기본 파이썬 인터프리터와, 여러줄의 코드를 편하게 편집할 수 있지만 별도의 콘솔에서 실행해야하는 범용 텍스트에디터의 장점을 잘 섞은 제품이다. 공식싸이트: https://jupyter.org/index.html

설치

$ pip3 install notebook

실행

$ jupyter notebook

'jupyter notebook'을 발전시킨 'jupyter lab'도 사용해보자

# 설치
$ pip3 install jupyterlab
...
# 실행
$ jupyter lab

쥬피터 노트북에서 가상환경 사용

가상환경을 만든다 (여기서는 'myEnv'라는 이름으로 만들었다.)

$ mkvirtualenv myEnv
...
(myEnv)$

가상환경이 작동중임을 프롬프트의 (myEnv)로 알 수 있다.

주피터에서 가상환경 사용할 수 있도록 등록해준다.

# ipykernel 모듈이 필요하다.
(myEnv)$ pip3 install ipykernel
...
(myEnv)$ python3 -m ipykernel install --user --name=myEnv

이제 주피터노트북 에서 가상환경을 사용할 수 있다.

현재 주피터에서 사용할 수 있는 커널(가상환경) 리스트 보기

$ jupyter kernelspec list

사용하지 않는 가상환경 쥬피터에서 제거

$ jupyter kernelspec uninstall myEnv

쥬피터 노트북에서 환경변수 사용하기

셸환경에서 'export'로 지정해 둔 환경변수를 주피터에서는 사용하지 못한다. 대신%set_env {ENV_VAR} {PATH} magic command를 사용해 환경변수를 사용할 수 있다.

magic command를 사용한 jupyter notebook의 더 많은 기능은 이곳:https://ipython.readthedocs.io/en/stable/interactive/magics.html

쥬피터 노트북에서 쉘 명령어 사용하기

! 를 붙이면 쉘 명령어를 사용할 수 있다.

... 그러니까 위의 환경변수 설정도 아래처럼 할 수 있는 것이다.

!export GOOGLE_APPLICATION_CREDENTIALS="/home/pi/my_credential.json"

쥬피터 노트북에서 acyncio 모듈 사용

asyncio module은 non-blocking IO를 구현하기 위한 모듈이다. 주피터는 자체적으로 이벤트루프를 이미 사용하고 있기 때문에 asyncio를 사용하려하면 이벤트루프를 중첩할수 없다나 하는 메시지와 함께 exception 발생한다.

nest_asyncio모듈을 사용해 해결한다.

$ pip3 install nest_asyncio

그리고