클라우드 컴퓨팅 (AWS) - 서버(EC2)에 파이썬 환경과 쥬피터 노트북 설치하기

5. 서버(EC2)에 파이썬 환경과 쥬피터 노트북 설치하기

5.1. 아나콘다 패키지 (파이썬) 설치

5.2. chromedriver 서버에서 이용하기

  • sudo apt-get install chromium-chromedriver
  • sudo apt-get install xvfb
  • sudo /home/ubuntu/anaconda3/bin/pip install pyvirtualdisplay
  • sudo /home/ubuntu/anaconda3/bin/pip install selenium
# 서버에서 selenium 사용 예제
# 가상의 디스플레이를 만들어 그 안에서 브라우져를 띄워서 실행
from pyvirtualdisplay import Display
from selenium import webdriver

display = Display(visible=0, size=(800, 600))
display.start()

browser = webdriver.Chrome(executable_path='/usr/lib/chromium-browser/chromedriver')
browser.get("http://www.google.com")
print(browser.title)
browser.quit()

display.stop()

5.3. PhantomJS 서버에서 이용하기

phantomjs 설치

  1. sudo apt-get install build-essential chrpath libssl-dev libxft-dev libfreetype6-dev libfreetype6 libfontconfig1-dev libfontconfig1 -y

  2. sudo wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2

  3. sudo tar xvjf phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /usr/local/share/

  4. sudo ln -s /usr/local/share/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin/

phantomjs 설치 확인

  • phantomjs -v
# 서버에서 selenium 사용 예제
# 가상의 디스플레이를 만들어 그 안에서 브라우져를 띄워서 실행
from pyvirtualdisplay import Display
from selenium import webdriver

display = Display(visible=0, size=(800, 600))
display.start()

browser = webdriver.PhantomJS(executable_path='/usr/local/bin/phantomjs')
browser.get("http://www.google.com")
print(browser.title)
browser.quit()

display.stop()

5.4. 기존 로컬/도커등에 설치된 python 관련 개발 툴을 새 PC(EC2 서버)에 설치하는 방법

기존 로컬/도커등에 설치된 python package 목록 저장

  • 시스템에 설치된 패키지 출력
    • pip freeze
  • 시스템에 설치된 패키지를 requirements.txt파일로 생성
    • pip freeze > requirements.txt (파일 생성)

기존 로컬/도커등에 설치된 python 관련 개발 툴 새 PC에 설치

  • 새 PC에 아예 파이썬이 설치가 안되어 있다면, anaconda를 설치하거나, 다음 명령으로 파이썬을 직접 설치
    • sudo apt-get update
    • sudo apt-get install python-pip
    • sudo apt-get install python-dev
    • sudo apt-get install cython

  • 기존 PC에 설치된 파이썬 라이브러리 목록을 한방에 설치하는 방법
    • pip install -r requirements.txt로 관련 패키지 설치

5.5. EC2 서버에 Jupyter Notebook Server 설치

  • sudo /home/ubuntu/anaconda3/bin/pip install jupyter
  • jupyter notebook --generate-config
  • ipython
In [1]: from notebook.auth import passwd

In [2]: passwd()
Enter password: 
Verify password: 
Out[2]: 'sha1:f24baff49ac5:863dd2ae747212ede58125302d227f0ca7b12bb3'
In [3]: exit

# Copy 'sha~~~' & Paste to jupyter_notebook_config.py (c.NotebookApp.password)
# Enter password 에서 넣은 암호를 나중에 웹에서 접속할 때 처음에 넣어주어야 합니다.
  • vi ~/.jupyter/jupyter_notebook_config.py
c = get_config()
c.NotebookApp.password = u'sha1:9506af11c688:9b5b486a01114bd3e38e52fdc2ea7f4c183f9a1e'
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port_retries = 8888
c.NotebookApp.notebook_dir = u'/home/ubuntu/DataScience'