[파이썬 웹 크롤러] 1. 시작 및 환경 구성

2017.02.06 03:34발자국

시작

 "파이썬으로 웹 크롤러 만들기 - 지은이 : Ryan Mitchell, 옮긴이 : 한선용, 펴낸 곳 : 한빛미디어(주)"
검색이란게 신기했던 시절이 있었고 매번 도움을 주시는 형님이 위 책을 참고해서 프로젝트 진행해볼 것을 추천해주셔서 구매 후 몇 페이지 읽어 보았다.
  좋은 파이썬 책은 가상 환경에 대한 설명이 초반에 있어야한다고도 들었는데, 이 책은 1장에서 몇 페이지 안넘어갔을 때 가상환경에 대한 설명이 있다. 그러므로 좋은 책일 것이라는 기대가 든다.
 아무튼 틈틈히 시간이 날 때 이 책의 내용을 따라하면서 하게된 생각들을 정리해보려 한다.

실습 환경

Windows 1067 OS Build 14393.693
Python 3.5.3rc1 64bit
Visual Studio Code v1.9.0
그 외 파이썬 모듈은 pip를 사용할 예정

  • PIP는 파이썬 패키지 관리자이며, 필요한 경우 링크를 통한 라이브러리 다운로드가 있을지도 모르겠다. )
  • 윈도우10에 Python3.5 버전이 설치하여 VS Code를 사용하여 코드를 작성하려한다.(어쩌다보니 RC버전을 설치...)

2017.02.06 파이썬 관련 배경지식

a. 학부시절 파이썬 하나도 모를 때에 교수님 지도에 따라서 텍스트 검색기능을 만들어 보았다.
b. 2016 파이콘 관람했었다. c. GDG Busan Django 스터디에 참석했었다. d. GDG Busan Python Play Ground 스터디에 참석했었다. e. 여전히 파이썬 잘 모른다. 하지만 위 경험들 덕분에 파이썬이 낯설지는 않다.

1. 가상환경 구성

 PIP 패키지 관리자를 통해서 라이브러리를 설치하면 파이썬이 설치된 경로에 모듈들이 설치되어 최악의 경우 라이브러리간의 호환성 문제로 충돌이 일어나 프로그램이 정상적으로 동작하지 않을 수 있다.
 그래서 위와 문제점을 예방하는 방법으로 가상 환경을 통한 격리 모델을 제공하는 라이브러리들이 존재한다.
 일단 파이썬 3.5버전에는 가상환경을 위한 venv 모듈이 기본 제공되니 나는 이것을 사용한다.


D:\temp>python -m venv _venv

rem 가상환경 생성 : `venv` 모듈을 통해서 현재 경로에 `_venv`라는 가상환경을 생성

rem 가상환경명은 임의로 설정할 수 있으며, 명령어가 수행 후 그 이름으로 폴더가 생성되기에 경로 충돌 문제가 발생하지 않도록 신경써주면 될 것 같다.

2. 가상환경 활성화 및 비활성화(윈도우)

 잠시 기다리면 설정한 이름으로 현재 폴더에 가상 환경용 폴더가 생성되고 해당 폴더의 배치파일을 통해서 가상환경을 활성화하거나 비활성화 할 수 있다.

활성화 배치 파일 : "./{가상환경명}/Scripts/activate.bat"
비활성화 배치 파일 : "./{가상환경명}/Scripts/deactivate.bat"

D:\temp>_venv\Scripts\activate.bat

rem 가상환경 활성화되면 명령 프롬프트의 가장 앞에 "(가상환경 이름)"이 붙어있다.
(_venv) D:\temp>

rem 가상환경 비활성화(가상 환경이 실행중일 때, "deactivate"를 입력하면 비활성화 된다.)
(_venv) D:\temp>deactivate

3. 가상환경에 BeautifulSoup4 라이브러리를 설치

 가상환경을 활성화 한 후, pip(파이썬 패키지 관리자)를 통해서 beautifulsoup4를 설치해보자.

(_venv) D:\temp>pip install beautifulsoup4 Collecting beautifulsoup4 Using cached beautifulsoup4-4.5.3-py3-none-any.whl Installing collected packages: beautifulsoup4 Successfully installed beautifulsoup4-4.5.3 (_venv) D:\temp>

 2017.02.06 기준 beautifulsoup4-4.5.3가 설치되었다!

4. 파이썬 코드 작성을 위한 텍스트 편집기 준비 (feat. Visual Studio Code)

 프로그래밍 코드를 작성하기 위해서는 텍스트 에디터 또는 IDE(통합 개발환경) 툴을 사용할 있는데, Pycharm과 같은 툴 들이 유용하겠지만, 잘 다루지 못해서 상대적으로 익숙한 텍스트 편집기인 Visual Studio Code를 사용해서 코드들을 따라해보려 한다.(충동 구매한 파이참 라이센스가 8월까지인데...)
 VS Code를 사용해오면서 몇 가지 활용하던 기능들이 있는데, 이번에 파이썬을 다룰 때 좀 더 수월하게 사용하기 위해 내가 시도한 방법을 정리해본다.

# VS Code에는 Integrate Termial(ctrl+`)를 통해서 명령 프롬프트를 실행 할 수 있다.

  • 명령 프롬프트를 위해 새로운 윈도우를 열지 않아도 되어서 편하다.
  • 편집기에서 코드를 작성하고, Integrate Termial 패널에서 코드를 실행 시키자! (더 편리한 방법이 있을 것 같은데...)

# 요즘 텍스트 편집기들은 확장 기능들이 많다.

  • VS Code의 확장 도구에 Python을 위한 도구들이 많다.
  • 많은 파이썬 관련 확장 도구 중 donjayamanne.python를 사용하는데 가상 환경이 활성화 되었을 때 자동완성 기능이 잘 동작하는 것 같다.

# VS Code를 실행하면 가상 환경이 활성화되고 설치된 라이브러리에 맞는 자동완성이 동작했으면!

  • 매번 VS Code를 켜고, Integrate Terminal을 띄워서 가상환경 폴더로 이동한 다음에, activate.bat 파일을 실행하자니 힘이 든다.. 그리고 VS Code의 파이썬 확장도구가 가상 환경의 라이브러리를 인식했으면 좋겠다.
  1. VS Code의 작업 공간(Work Space)의 설정에 가상 환경 설정값들을 셋팅한다.

    • VS Code의 Python 관련 설정에서 무엇을 어떻게 잘 건드려야할지 모르겠다. (시도하다가 포기)
  2. VS Code를 가상환경에서 실행하면 자동으로 된다고 한다!

    • pythonVSCodeDocs에서 내가 사용중인 파이썬 확장 도구는 가상 환경 활성화 후 VS Code를 실행하면 가상 환경의 파이썬 설정을 잡아준다고 한다.
    • 구글과 스택오버플로우의 도움으로 가상 환경을 활성화하고 배치파일을 생성하였다. 참조 링크
    @echo off %~n0\Scripts\activate.bat&code .&deactivate

    위 코드를 "가상 환경 이름.bat"으로 가상 환경 폴더와 동일한 경로에 저장한다.
    위 배치 파일을 더블 클릭하면 이제 VS Code가 가상 환경을 실행한 상태로 열리게 된다!

    추가로 바로가기 아이콘을 생성한 후 [속성]의 [바로가기 탭]의 [실행 옵션]을 최소화(Minimized)를 선택하면, 실행 할 때 명령 프롬프트가 보이지 않는다. 참조 링크

5. 마무리

뭔가 파이썬 웹 크롤러 내용보다 VS Code 이야기가 더 많은 것 같다. 일주일에 한 번씩 글 쓰는 연습도하고, 파이썬에도 좀 더 익숙해져보자!


1 2 3 4 5 6 7 8