서버(EC2)에 파이썬 환경과 쥬피터 노트북 설치하기
이해하기 쉽고, 장황하지 않은 자료를 기반으로 강의를 진행합니다.
5. 서버(EC2)에 파이썬 환경과 쥬피터 노트북 설치하기¶
5.1. 아나콘다 패키지 (파이썬) 설치¶
- wget https://repo.continuum.io/archive/Anaconda3-5.0.0.1-Linux-x86_64.sh
- sudo sh Anaconda3-5.0.0.1-Linux-x86_64.sh
- source ~/.bashrc
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
In [ ]:
# 서버에서 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. Selenium headless Chrome 서버에서 이용하기¶
headless Chrome 사용 준비 (서버)¶
- 크롬 또는 크로미움 설치 (예: sudo apt-get install -y chromium-browser)
- pip install selenium
- Selenium 4의 드라이버 자동 관리 기능을 활용해 별도 chromedriver 설치 없이 실행
In [ ]:
# 서버에서 selenium 사용 예제 (headless Chrome)
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument("--headless=new")
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
browser = webdriver.Chrome(options=options)
browser.get("http://www.google.com")
print(browser.title)
browser.quit()
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'
- sudo jupyter-notebook --allow-root &
- 로그 확인: vi /var/log/jupyter.log
- 웹에서 접속: http://www.funcoding.xyz:8888