Failed to import 'pydot'. Please install 'pydot'. For example with 'pip install pydot'.

 

상황설명-

이 에러는 keras 혹은 의사결정나무(decision tree)에서 그래프를 그릴 때 사용하는 graphviz에 문제가 있을 때 발생합니다. 맥과 같은 linux os에서는 패키지가 깔리지 않았을 때, windows에서는 거의 무조건 발생하는 에러라고 보시면 됩니다. 사실 에러는 pydot자체적인 문제가 '아닙니다.' pip install pydot해도 오류는 해결이 되지 않아요.

 

해결법-

1) Mac과 같은 linux기반 OS + Anaconda

  (prompt)

  $ conda install graphviz

  [if needed]

  (coding tools)

  import os
  os.environ["PATH"] += os.pathsep + '~/opt/anaconda3/lib/site-packages/graphviz'

프롬프트에서 먼저 graphviz를 인스톨 해주시면 문제없이 돌아가는 경우가 많습니다. 그러나 설치한 뒤에도 계속해서 에러가 발생한다면 명시적으로 코드내에서 시스템 환경변수를 등록해주시면 됩니다.

 

2) Windows + Anaconda

  맥에 비해서 조금 복잡합니다.

  먼저 프롬프트에서

  $ pip install pydotplus

  를 입력하여 pydotplus를 설치해주십시오.

  이후
  https://graphviz.gitlab.io/_pages/Download/Download_windows.html
  홈페이지에 접속하여 OS에 맞는 graphviz설치 프로그램을 받아주신 뒤 설치하여 주십시오.(msi 확장자를 가진 파일로 다운로드 받아주시기 바랍니다.)

  만약 어떤 설정도 건드리지 않고 설치하였을 시 C드라이브 아래 Program Files (x86)경로에 깔릴 것입니다.

  이후
  import os
  os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'

  맥에서와 마찬가지로 코드 내에서 명시적으로 시스템 패스를 설정해주시면 됩니다.

  (실제 시스템 자체에서 패스 설정하는 방법이 있지만 복잡하여 코드 내 설정방법으로 설명드렸습니다.)

[Jupyter/Python] How to use multi-kernel in jupyter notebook

 

1) make kernel spec

ipython kernelspec install-self --user

 

2) move to kernel spce
cd /home/[user name]/.local/share/jupyter/kernels
ls

 

3) choose kernel

cd python3

or

cd python2

ls

 

4) find out kernel.json and open this file

vi kernel.json

 

5) contents of kernel.json

{

 "_comment": "red is display name to jupyter notebook, blue is language type, green is interpreter(address or command)",
 "display_name": "Python 3",
 "language": "python",

 "argv": [
  "/home/[user name]/anaconda3/bin/python",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ]
}

[AWS/Ubuntu/Linux/Anaconda/Selenium] aws에서 작동하는 selenium 패키지를 활용한 python 실행 파일 만들기

 

aws에서 selenium 패키지를 활용하여 웹 크롤링 혹은 스크래핑을 진행하는 데 있어 정말 여러가지 오류들이 있어서, 이참에 아예 한번 싹 정리해봅니다.

 

아예 완전히 aws 인스턴스를 처음 만들었다고 가정합니다.

관련 페이지: https://omnil.tistory.com/67, https://omnil.tistory.com/144

 

1. 아나콘다 다운로드 및 설치

- 관련페이지의 설명과 같이 Anaconda3-2019.10-Linux-x86_64.sh 이 부분만 원하는 버전으로 바꿔주시면 됩니다.

wget https://repo.continuum.io/archive/Anaconda3-2019.10-Linux-x86_64.sh && sh Anaconda3-2019.10-Linux-x86_64.sh

 

2. 배쉬 리프레시 및 설치파일 제거

source ~/.bashrc && rm Anaconda3-2019.10-Linux-x86_64.sh

 

3. 새 폴더 생성 및 이동

mkdir sandbox && cd sandbox

 

4. unzip과 chromium-browser설치

sudo apt update && sudo apt install unzip && sudo apt-get install -y chromium-browser

 

5. chromium-browser version확인

- 여기서 확인한 버전으로 크롬드라이버를 깔아주어야 합니다.

chromium-browser --version

 

6. (위에서 확인한 버전에 맞는) 크롬드라이버 다운로드, unzip, chromedriver 실행권한 변경 및 기본 path로 이동

- 위에서 확인한 버전에 맞는 크롬드라이버 다운로드 링크는 >>여기<<서 확인하실 수 있습니다.
wget https://chromedriver.storage.googleapis.com/79.0.3945.36/chromedriver_linux64.zip

unzip chromedriver_linux64.zip && chmod +x chromedriver && sudo mv chromedriver /usr/bin/chromedriver && rm chromedriver_linux64.zip

 

7. 크롬드라이버 버전 확인

- chromium-browser --version과 동일해야 합니다.

chromedriver --version

 

8. 파이썬 파일에서 사용할 패키지 설치

pip install selenium telepot

 

9. 스크린 작동

- 스크린에 관련하여서는 >>페이지<< 하단에 자세하게 나와있습니다.
screen -S noti

 

10. 파이썬 파일 실행

- 파이썬 파일 이름은 watch_key.py입니다.

python watch_key.py

 

11. 파이썬 파일 내부에서 selenium을 사용할 경우에는 반드시 아래와 같은 옵션을 주고 드라이버를 실행하여야 합니다.

from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')

driver = webdriver.Chrome(options=chrome_options)

'Software > AWS' 카테고리의 다른 글

[AWS/Linux] wget으로 아나콘다 깔기  (0) 2019.09.20

[python/pandas] read_csv에서 line contains NULL byte 에러

Error-

  Line contains NULL byte

 

원인-

  말 그대로 파일에 NULL 바이트가 섞여서 판다스에서 read_csv로 변환할 수 없다는 에러이다.

  보통 utf-16 인코딩 파일을 읽어오려할 때 발생한다.

 

해결법-

  가장 간단한 방법은 원본파일의 인코딩을 재설정하는 것이다.

  팁으로 가장 간단하게 메모장으로 열어서 인코딩만 바꿔 재 저장해주는 방법이 있다.

  리눅스에서는 

  $ iconv -c -f utf-16 -t utf-8 file.csv > file2.csv

  명령어를 통하여 인코딩을 바꿔줄 수 있다.

  이 경우 추가적으로 file separation을 제대로 못 잡아주는 경우가 생길 수 있다.

  이 경우엔 명시적으로 sep='\t'옵션을 주면 해결되는 경우가 대부분이다.

[python/jupyter/notebook] 주피터 노트북으로 발표하기!

 

주피터 노트북으로 발표할 수 있는 방법은

1] nbviewer

  장점: 온라인으로 바로 보여줄 수 있음, 공유가 쉬움

  단점: 매 강의자료마다 gist로 publish해주어야함, 강의자료 공개, 인터넷 환경 필수

2] nbconvert

  장점: 다른 어떤 조작도 필요없이 커맨드 명령어 만으로 바로 강의자료를 만들어줌

  단점: 컨버팅에 인터넷 환경 필수, 각 강의자료마다 하나하나 변환해주어야 함

3] RISE

  장점: 인터넷 필요 없음, 주피터 노트북만 떠 있다면 바로 주피터를 슬라이드 쇼로 변환가능, 쇼 중간에 셀 실행 가능

  단점: 처음 설치가 까다로움

의 세가지가 있습니다.

그리고 그 전에 각 셀마다 슬라이드 타입을 설정해 주어야 합니다.

 

0] 슬라이드 타입 설정

1) 메뉴바 -> View -> Cell Toolbar -> Slideshow를 클릭

2) 그러면 각 셀 위에 오른쪽에 dropdown메뉴로 slide 타입을 설정할 수 있는 메뉴가 생성

3) 각 셀마다 슬라이드 쇼에서 어떻게 나타낼지를 결정해주면 된다.

  slide : 한 화면에 나올 slide

  sub-slide : 한 화면에 나오는 slide지만 위의 slide에 종속되어 있는 슬라이드. 아래화살표 버튼을 누르면 보여줄 수도 있지만, 바로 슬라이드를 넘김(>)으로 생략할 수도 있다.

  fragment : 한 슬라이드내에서 '나타나기'로 나타나는 조각을 만든다.

  skip : 노트북에서는 보이지만 슬라이드 화면에서 보이지 않는 셀로 만든다.

  notes : 발표시에 참고가능한 노트로 만든다.

4) 저장한다.

 

1] nbviewer

1) 주피터 노트북 파일(.ipynb)로 저장된 파일을 메모장으로 열어준다.

2) 나오는 코드를 그대로 전체 복사

3) gist.github.com에 접속

4) 새 글쓰기를 해서 관련 내용을 붙여넣은 뒤 'create public gist'를 눌러 새 글을 만든다.

5) 새 글이 써진 뒤 url에서 자기 아이디 뒤의 해시코드를 복사한다.

6) https://nbviewer.jupyter.org/에 접속한다.

7) 복사한 해시코드를 입력창에 붙여넣고 Go!를 누른다.

8) 발표자료가 바로 실행된다.

 

2] nbconvert

1) jupyter nbconvert <주피터파일>.ipynb --to slides --post serve 명령어를 터미널에서 입력한다.

2) 이 과정은 인터넷이 필요한 과정이다.

3) 만들어진 .html파일은 인터넷이 없어도 사용할 수 있다.

 

3] RISE

1) pip3 install jupyter_contrib_extensions

(or conda install -c conda-forge jupyter_contrib_nbextensions)

2) jupyter contrib nbextension install --user

3) pip3 install rise

(or conda install -c damianavila82 rise)

 * 혹은 jupyter-nbextension install rise --py --sys-prefix 도 가능

 * 만약 permission denied에러가 난다면 --sys-prefix옵션을 빼고 실행하면 된다.

4) jupyter nbextension enable rise --py --sys-prefix

 * 만약 permission denied에러가 난다면 --sys-prefix옵션을 빼고 실행하면 된다.

5) 메뉴바 아래 아이콘 버튼 중 맨 오른쪽에 차트모양의 'enter/exit RISE Slideshow'가 뜨면 성공! 이제 이 버튼으로 슬라이드쇼를 시작할 수 있다.

6) 단축키는 alt+r

에러전문

RuntimeError: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a framework. See the Python documentation for more information on installing Python as a framework on Mac OS X. Please either reinstall Python as a framework, or try one of the other backends. If you are using (Ana)Conda please install python.app and replace the use of 'python' with 'pythonw'. See 'Working with Matplotlib on OSX' in the Matplotlib FAQ for more information.


원인

이 에러는 matplotlib 패키지에서 발생하는 에러입니다.

matplotlib에서 사용되는 backend가 제대로 설정되지 못하였기 때문에 발생합니다.



해결법

Mac의 터미널에서 이하의 명령어를 입력합니다.

echo "backend: TkAgg" >> ~/.matplotlib/matplotlibrc

아무 결과가 출력되지 않으면 제대로 된 것입니다.

이후에 다시 실행해보면 제대로 동작하는 것을 확인할 수 있습니다.

[파이썬(Python)] 기본문법

 

기본적으로 개행시 특수문자가 필요하지 않다.

블록구분은 콜론(:)과 인덴테이션(tab)으로 한다.

if문에서 괄호를 작성하지 않는다.

for문은 이터러블 객체에 in 명령어를 사용하여 사용한다.

한 줄에 여러 명령어를 동시에 사용할 때는 세미콜론(;)으로 연결한다.

주석은 #

논리 합, 논리 곱, NOT 연산은 각각 and, or, not 키워드를 사용한다.(&&, ||, ! 사용 안됨)

=> 판다스(pandas) 패키지에서 매직 인덱싱 할때는 & | ! 사용

보통 인코딩을 모르는 미지의 파일을 파이썬의 open()함수를 통하여 열 시에 위와같은 오류가 종종 발생한다.

 

그 이유는 파이썬은 utf-8이 기본 인코딩인데, utf-8로 해당 문서를 열려고 했더니 문제가 발생했다는 것이다.

 

이때는 open()함수의 encoding 파라미터를 통하여 인코딩 방식을 다른 방법으로 지정해 주면 파일이 열린다.

 

보통 윈도우에서 작성하거나 웹에서 긁어온 문서는 'euc-kr' 혹은 'cp949'로 대부분 해결이 된다.

 

가끔 해외에서 작성된 문서의 경우 'latin_1'인코딩도 종종 보인다.

 

즉, open("file.name", "r", encoding='euc-kr')의 식이다.

 

그러나 저 두가지 인코딩을 사용하였는데도 제대로 작동이 안되는 경우에는 인터넷에서 직접 인코딩 방식을 찾아 보아야 한다.

 

파일 인코딩 알아보기

 

파일 인코딩 확인법(How to find out file encoding)

GNU 시스템 하에서는 해당 폴더로 이동한 후에 file * 혹은 file --mime-encoding * 을 명령줄에 쳐주면 인코딩 방식이 나온다. 윈도우에서는 git bash를 깔면 gnu시스템을 이용할 수 있으므로 위와같이 해주면 되..

omnil.tistory.com

 

그런데 이 방식을 활용하여도, 인코딩은 저렇게 해놓고, 실제 내부에서 인코딩된 문서가 쓰인 방식이 다를 수 있다.

(가령 저 인코딩 방식으로 파일이 열리는데도 그 안에서도 파일이 깨져보이는 경우)

 

그때는... 답 없이 경험에 의지해서 여러 인코딩 방식을 시험해보는 수밖에 없다.

그것이 바로 위에서 말했던 latin_1, euc-kr, cp949등 이다.

 

더욱 많은 인코딩 방식은 파이썬의 공식 도큐멘테이션에 2/3 지점에 나와있다.

만일 해당 국가가 한국이 아니라 중국, 대만, 일본 등이면 그에 맞는 인코딩 방식을 하나하나 시험해보는 수 밖에 없다.

1) which pip를 커맨드 라인에 치면 pip의 위치가 나옵니다. [/usr/bin/pip]

    보통 이 pip 위치에서 하면 되는데 가끔 전혀 다른 곳에서 pip가 문제가 되는 경우 상단의 에러메시지와 함께 어떤 위치에서 발생하였는지 나오기 때문에 그 위치의 pip 파일을 수정해 주시면 됩니다.

2) sudo nano pip라고 치시면 nano editor가 작동하며 파일이 열립니다. vim으로 작성하셔도 크게 문제 없습니다.

3) 파일을 열면
from pip import main 
if __name__ == '__main__': 
     sys.exit(main())

 

이렇게 나와 있을 것인데, 이것을

import sys 
from pip import __main__ 
if __name__ == '__main__': 
     sys.exit(__main__._main())

 

로 바꿔주시고, ctrl+o를 눌러서 저장한다고 하시고 엔터 치신 뒤 ctrl+x로 빠져나오시면 됩니다.

그리고 이후에 pip이용시에는 문제가 되지 않을 것입니다.

* 시작 전에: EC2 무료사용의 경우 한달 750시간인데, 이는 EC2 전체 사용시간을 통틀어 한달 750시간 이내라는 것 입니다. 즉 EC2를 두대를 켜놓게 되면 하루에 48시간 사용하는 것과 같은 효과라 한대치는 유료로 사용하는 것이 됩니다. 이걸 이번달에 돈내면서 알게 되었으니 다들 저같이 피같은 돈을 쓰시지 않으시기를 바랍니다... 저희는 온전히 무료로 서버를 이용하는게 목적이니까요... 흑흑..

 

사실 이전까지의 모든 것으로 python을 사용할 수 있는 한대의 컴퓨터가 더 생긴 것은 맞지만, 보안을 위해서 ssh 접속으로 설정해 놓았기 때문에 정말 아무런 컴퓨터 혹은 아무런 디바이스에서나 막 접속할 수는 없습니다.

 

이를 위해서 8888번 포트를 미리 개방해 놓았는데요, 오늘은 이 포트를 가지고 어디에서나 접속할 수 있는 주피터 노트북 서버를 만들어 보도록 하겠습니다.

 

현재 아나콘다를 설치하여 주피터 노트북은 설치가 이미 되어있는 상태입니다.

그리고 현재 버전의 아나콘다(정확히는 주피터 노트북 5버전 이상)를 사용중이시면 주피터 노트북에서 비밀번호 설정이 매우 쉽습니다.(중요) 나중에 차근히 알려드리겠습니다.

 

그리고 자신하건데 주피터 노트북 서버를 만드는데 지금 이 포스팅보다 더 간단한 방법은 없다고 자부할 수 있습니다.

 

1) 먼저 설정에 필요한 정보들을 모아야 합니다.

      1] AWS에 접속하여 대시보드에서 EC2를 검색합니다. (혹은 최근에 이 항목을 쓰셨다면 대시보드 검색창 아래에 EC2가 있을 것입니다.)

      2] EC2 대시보드에서 좌측의 '인스턴스'를 클릭합니다.

      3] 현재 저희들은 인스턴스를 하나만 만들어 놓았기 때문에 현재 'running'이라고 떠 있는 인스턴스를 클릭합니다.

      4] 아래쪽에 인스턴스의 상세한 설명들이 나오는데 여기서 '프라이빗 IP'라고 써있는 항목을 찾습니다. 점(.) 세개로 구분된 네 뭉텅이의 숫자가 IP입니다. (ex 172.30.29.125)

      5] 과거에 처음에 만들었던 설정에서 '보안그룹'에 '인바운드'탭에 8888번 포트가 개방되어 있는지 확인합니다. 만약에 개방되어 있지 않다면 개방하여 줍니다. (jupyter notebook은 기본적으로 8888번 포트를 사용합니다.)

 

2) 이제 인스턴스에 CLI로 접속합니다. PuTTY(Windows) 혹은 Command Line(Mac, Linux)을 사용하여 접속합니다.

 

3) 명령줄에 [jupyter notebook --generate-config]를 입력하고 엔터를 칩니다.

      1] 이 명령을 수행하고나면 [/home/ubuntu/.jupyter] 폴더 아래에 jupyter_notebook_config.py라는 python 파일이 생성됩니다.

 

4) 명령줄에 [vi /home/ubuntu/.jupyter/jupyter_notebook_config.py]를 입력한 뒤 엔터를 치면 vim 에디터가 열리며 문서가 열립니다.

      1] 아래에 모든 항목이 #으로 주석처리 되어있으며, 사실 여기서 찾아보면 저희가 설정하고자 하는 모든 항목들이 나와있으나 하나하나 찾기 힘드니 그냥 위에다가 새로 써 줄 것입니다.

      2] 맨 첫줄 맨 앞에서 i키를 누른 뒤 엔터를 두번 쳐줘서 맨 위에 공간을 만들고 다시 맨 위로 올라와 아래의 커맨드를 씁니다.

            c.NotebookApp.ip = '___.___.___.___' #아까.찾은.프라이빗.IP [필수!]

            c.NotebookApp.open_browser = False #자동으로 브라우저 여는 것에 대해 False. 어차피 CLI 환경이라 꺼줍니다.

            c.NotebookApp.notebook_dir = u'/home/ubuntu/' #Jupyter notebook에 처음 접속하였을 때 보여줄 디렉터리 경로입니다. CLI로 처음 접속하였을 때의 기본 디렉터리가 ubuntu/이며, 이 뒤에 새로 생성한 dir이 있으면 주소형식으로 추가해주시면 됩니다. 만약 안써주시면 CLI 상에서 jupyter notebook 명령을 친 디렉터리 위치가 브라우저상에서 열리게 됩니다.

            c.NotebookApp.port_retries = 8888 #주피터 노트북이 사용할 포트를 지정하는 곳입니다. 기본 포트인 8888을 사용할 경우 이 부분을 입력하지 않으셔도 되지만, 만약에 포트를 바꾸고 싶으시면 이 부분을 수정함과 동시에 EC2에서 보안그룹의 인바운드 포트를 추가적으로 개방해주셔야 합니다.

      3] 위의 네 줄(혹은 필수 한줄 이외 옵셔널 몇 줄)을 모두 입력하셨으면 :wq를 누르셔서 저장하고 CLI환경으로 다시 나오시면 됩니다.

 

5) 주피터 노트북을 브라우저로 열 때 비밀번호를 설정합니다.

      만약 설정되어 있지 않다면 접속이 아예 안되거나, 첫 접속시 token(이라고 jupyter notebook을 실행한 환경에 주소뒤에 붙어나오는 특별한 값이 있습니다.)을 입력하거나 토큰입력 후 비밀번호를 설정하라는 페이지가 나옵니다.

      위의 상황 모두 짱 귀찮으니 그냥 주피터 노트북에 비밀번호를 먼저 설정해줍시다.

      여기서 주피터 5번 버전대 이후가 편해진 부분이 이 부분입니다. 과거에는 비밀번호를 설정하거나 재설정 할때 정말 핵귀찮았지만, 5버전대 이후에는 명령어 한줄만 쓰면 새로 설정과 변경이 자유롭습니다.

      1] CLI 명령줄에 [jupyter notebook password]을 칩니다.

      2] 차례대로 Enter password:, Verify password: 식으로 나오는데, Enter password: 라고 나오고 아무리 키를 눌러도 입력되는 것으로 나오지 않으나 입력되는 상태이므로 그냥 먹통인 상태로 패스워드 입력 후 엔터치면 자동으로 Verify password: 로 넘어가고 여기서도 같은 pw를 입력하면 password가 설정됩니다.

      3] 이후에 패스워드를 바꿀때도 간편하게 CLI 명령줄에 [jupyter notebook password]입력 후 새로 쓸 패스워드를 입력하면 패스워드가 바뀝니다.

 

      참고) 과거에는 ipython 혹은 python을 직접 CLI환경에서 구동한 뒤

              [from notebook.auth import passwd]

              [passwd()]

              의 두 줄을 따로 입력하여 'sha1:~~~~~'라고 하는 해시값을 얻은 뒤 이것을 다시 jupyter_notebook_config.py에다가 다른 항목들 처럼 c.NotebookApp.password = 'sha1:~~~~'이런식으로 써 주어야 했으며 패스워드 변경은 훨씬 어려웠습니다.

 

6) 서버를 24시간 켜두고 언제든지 접속하는 것을 목표로 하기 때문에(서버에 들어가서 따로 켜 주었을 때만 작동하는 거라면 그냥 로컬에서 jupyter notebook을 쓰는 것과 다름이 없습니다... (적어도 사용하는 관점에서는)) 사용자가 로그아웃 하여도 24시간 서버컴에서 돌아가는 방법을 사용하겠습니다. screen이라는 기능인데, 이 명령어를 사용하여 만든 screen안에서 동작하는 것은 사용자가 로그아웃을 하여도(서버를 떠나도) 계속 작동합니다.

      1] screen -S [스크린 이름] 을 명령줄에서 실행합니다. 여기서 -S는 새로 스크린을 스크린 이름으로 만들겠다는 것입니다. 처음에는 만들자마자 스크린으로 자동으로 attach 됩니다.

      2] 여기에서 jupyter notebook을 명령줄에 입력하여 jupyter notebook을 켭니다. 이제 jupyter server가 꺼지지 않고 돌아가는 서버 컴퓨터를 만든 것입니다.

      3] 이후 Ctrl+a+d키를 차례로 눌러 원래 CLI 환경으로 돌아옵니다. 다시 스크린에 돌아가고 싶으시면 screen -r [스크린 이름]을 치시면 해당 스크린으로 다시 attach되며 다시 Ctrl+a+d를 누르시면 detach 됩니다. (어떤 경우에 제대로 detach되지 않은채 CLI환경 자체가 꺼진경우 다시 접속하면 CLI 환경인데 스크린이 detach되지 않아 -r로 attach할 수 없을 경우 -dr로 접속하면 그 스크린을 자체적으로 detach시켰다 다시 attach하므로 접속이 가능해집니다.)

      4] 추가적으로 현재 사용하고 있는 스크린의 목록을 보고 싶으시면 screen -ls를 치시면 볼 수 있습니다.

      5] 어떤 스크린을 끄고 싶으시면 원래 CLI 환경에서 screen -X -S [스크린 이름] quit 혹은 screen -X -S [스크린 이름] kill을 하시면됩니다.

      6] 동일한 이름의 스크린을 만드셨다면, screen -ls 를 쳤을 때 스크린 이름 앞에 숫자가 .으로 붙어있는데 이것으로 같은 이름의 스크린이더라도 구별하여 없애거나 다시 접근하거나 하실 수 있습니다.

 

7) 이제 직접 접속해 봅시다.

      1] 이전까지 파일질라나 PuTTY에서 썼던 퍼블릭 IP를 [http://퍼블릭 IP:8888]로 브라우저에 입력하고 접속합니다.

          예를들어 퍼블릭 IP가 54.127.52.125 였다면 http://54.127.52.125:8888로 접속합니다.

      2] 비밀번호를 입력하라는 페이지가 나오면 성공입니다. 여기서 비밀번호를 입력하면 처음에 보여주기로 설정했던 디렉토리가 보일 것이며, 한번 입력 후 브라우저가 기억하는 한 다음 접속부터는 비밀번호를 입력하지 않아도 주소만 입력하면 자동으로 접속 될 것입니다.

 

8) 따라! 성공하였습니다!

 

 

이제 자유자재로 프로그래밍 가능한 강력한 interpreter 도구를 얻으셨으며, 언제 어디서든 자유롭게 인터넷으로 접속할 수 있습니다. 게다가 고정된 ip주소를 가지고 있으니 한번 접속만 하면 자동으로 브라우저가 자동완성으로 페이지 주소를 만들어 줄 것입니다.

 

그러나 컴퓨팅 성능 자체는 그리 좋지 못하여 과한 deep learning tasks 같은 것을 돌리면 컴퓨터 자체가 뻗어버려 EC2환경에서 다시 재부팅 해줘야 하는 일도 발생할 수 있으니 컴퓨팅 환경은 제한적이라는 것을 꼭 기억해주시기 바랍니다.(그래도 일반적인 코딩 수준에서는 문제가 하나도 될 것이 없습니다.)

 

이제 이 서버컴퓨터로 개발을 할 수 있는 준비는 다 끝났습니다. 이것을 활용하여 더욱 많은 프로젝트들을 협업하고, 언제 어디서나 작업하실 수 있기를 바랍니다!

+ Recent posts