티스토리 뷰

목차



    Python Logo

    서론

    Java, PHP, Javascript, Python등등 개발을 업으로 삼아서 일을 하면서 많은 프로그래밍 언어와 도구를 다루며 느낀 점은 새 언어를 배울 때 기본만 알기보다는 패키지와 라이브러리를 활용하는 방법까지 익혀야 실무에 가까워진다는 겁니다. 외부 패키지나 라이브러리는 실무에서 안쓸래야 안쓸수가 없지요. 아무리 개발을 혼자하지않고 함께 개발한다고 하더라도 수많은 필요한 기능들을 모두 새로 개발할 수 없고 개발자가 집중해야하는 비지니스 코드는 따로 있기때문입니다. 한정된 시간에 프로젝트를 완수하기 위해서는 많은 보편적인 기능들은 라이브러리를 사용해야합니다. 

    특별히, Python의 외부 패키지는 생산성을 극대화하는 중요한 도구입니다. 이번 글에서는 여러분이 손쉽게 외부 패키지를 설치하고 활용할 수 있도록, 실습을 통해 구체적인 방법을 안내해 드리겠습니다. Python이 익숙해질수록 이 글이 실무에 필요한 좋은 가이드가 될 겁니다.


    1. 외부 패키지란?

    Python 외부 패키지는 Python 커뮤니티와 다양한 개발자들이 개발하여 공유하는 라이브러리입니다. 이런 패키지는 프로그램에 새로운 기능을 쉽게 추가하고, 복잡한 문제를 빠르게 해결하도록 도와줍니다. 외부 패키지를 설치하고 사용하는 방법을 알면 프로그램의 가능성을 크게 확장할 수 있습니다.

    1.1 왜 외부 패키지가 필요한가요?

    Python 기본 설치에도 유용한 내장 모듈들이 많지만, 특정 기능은 외부 패키지가 훨씬 강력하고 유용합니다. 예를 들어, 데이터 분석에 강력한 pandasnumpy, 웹 스크래핑에 유용한 BeautifulSouprequests 등이 있습니다. 외부 패키지는 복잡한 기능을 간단한 코드로 구현할 수 있게 해주며, 실무에서 꼭 필요한 다양한 기능들을 제공합니다.

    1.2 외부 패키지의 종류

    외부 패키지는 목적에 따라 다양한 분야로 나뉩니다. 대표적인 분야는 다음과 같습니다:

    • 데이터 분석: pandas, numpy, scipy
    • 웹 개발: Django, Flask
    • 웹 스크래핑: BeautifulSoup, Scrapy, requests
    • 머신러닝: TensorFlow, scikit-learn, PyTorch
    • 이미지 처리: PIL, OpenCV

    이처럼 외부 패키지를 통해 Python은 다재다능한 도구가 됩니다.


    2. Python 패키지 설치 기본 - pip 사용법

    Python에서는 pip라는 패키지 관리자 도구를 통해 외부 패키지를 설치할 수 있습니다. pip는 Python에 내장된 도구로, 간단한 명령어를 통해 패키지를 설치, 제거, 업데이트할 수 있습니다.

    2.1 pip 설치 확인하기

    대부분의 Python 최신 버전은 pip가 기본으로 설치되어 있습니다. pip가 설치되어 있는지 확인하려면 터미널이나 명령 프롬프트에서 다음 명령어를 입력해 보세요.

    pip --version

    출력 예시:

    pip 21.0.1 from /usr/local/lib/python3.9/site-packages (python 3.9)

    만약 pip가 설치되어 있지 않다면, Python을 재설치하거나 Python 공식 사이트에서 pip 설치 방법을 확인할 수 있습니다.

    2.2 패키지 설치하기

    pip를 사용해 원하는 패키지를 설치하려면 다음 명령어를 입력합니다. 예를 들어, 데이터 분석 패키지인 pandas를 설치해 보겠습니다.

    pip install pandas

    설치가 완료되면, Python 코드에서 import pandas를 사용하여 패키지를 불러올 수 있습니다. pip 명령어는 기본적으로 최신 버전을 설치하며, 특정 버전이 필요할 때는 다음과 같이 버전을 지정할 수도 있습니다.

    pip install pandas==1.2.3

    2.3 패키지 목록 확인 및 제거

    설치된 패키지 목록을 확인하려면 다음 명령어를 사용합니다.

    pip list

    특정 패키지를 제거하려면 uninstall 명령어를 사용하세요. 예를 들어, pandas를 제거하려면 다음과 같이 입력합니다.

    pip uninstall pandas

    이처럼 pip는 패키지 관리에 필수적인 도구로, 외부 패키지를 자유롭게 설치하고 관리할 수 있게 해줍니다.


    3. 가상 환경 설정 - 외부 패키지 관리의 필수 요소

    여러 프로젝트를 진행하다 보면, 프로젝트마다 필요한 패키지 버전이 다를 수 있습니다. 이를 해결하기 위해 Python에서는 **가상 환경(virtual environment)**이라는 기능을 제공합니다. 가상 환경을 사용하면 프로젝트마다 독립된 패키지 설치 환경을 구축할 수 있어 충돌을 방지할 수 있습니다.

    3.1 가상 환경 만들기

    가상 환경을 생성하려면 venv 모듈을 사용합니다. 프로젝트 폴더로 이동한 후 다음 명령어를 입력하여 가상 환경을 생성합니다.

    python -m venv myenv

    여기서 myenv는 가상 환경 폴더 이름이며, 원하는 이름으로 지정할 수 있습니다. 이 폴더 안에는 가상 환경 설정 파일과 독립된 Python 인터프리터가 저장됩니다.

    3.2 가상 환경 활성화하기

    생성한 가상 환경을 활성화하려면 다음 명령어를 사용합니다.

    • Windows:
    • myenv\\Scripts\\activate
    • macOS/Linux:
    • source myenv/bin/activate

    가상 환경이 활성화되면 터미널에 (myenv)와 같은 표시가 추가됩니다. 이제 이 상태에서 설치한 패키지는 가상 환경 내에만 설치됩니다.

    3.3 가상 환경 비활성화

    가상 환경을 종료하려면 deactivate 명령어를 입력합니다.

    deactivate

    이제 기본 Python 환경으로 돌아가게 되며, 가상 환경 내에서 설치한 패키지는 사용할 수 없습니다. 가상 환경을 사용하면 프로젝트 간 패키지 충돌을 방지할 수 있어 매우 유용합니다.


    4. 외부 패키지 실습 - requests 라이브러리로 웹 데이터 가져오기

    이제 외부 패키지를 실습을 통해 사용해 보겠습니다. 웹 데이터 수집에 유용한 requests 라이브러리를 설치하고, 간단한 예제로 웹 데이터를 가져오는 방법을 배워봅시다.

    4.1 requests 패키지 설치

    requests 패키지는 HTTP 요청을 보내고 데이터를 받아오는 데 유용합니다. 다음 명령어로 requests 패키지를 설치합니다.

    pip install requests

    4.2 requests를 이용한 웹 데이터 가져오기 예제

    설치가 완료되면 Python 코드에서 requests를 사용해 HTTP 요청을 보내고 데이터를 가져올 수 있습니다. 예를 들어, JSON 데이터를 반환하는 API에서 데이터를 가져오는 코드를 작성해 보겠습니다.

    import requests
    
    # 예제 API URL
    url = "<https://jsonplaceholder.typicode.com/posts/1>"
    
    # GET 요청 보내기
    response = requests.get(url)
    
    # 응답 상태 코드 확인
    if response.status_code == 200:
        data = response.json()
        print("데이터 가져오기 성공:")
        print(data)
    else:
        print("데이터 가져오기 실패:", response.status_code)

    이 예제에서 requests.get() 메서드를 사용하여 GET 요청을 보내고, JSON 응답을 받아 출력합니다. requests 패키지는 웹 스크래핑, API 통신 등 다양한 분야에서 유용하게 사용될 수 있습니다.

    4.3 requests 패키지로 POST 요청 보내기

    requests를 사용하여 POST 요청도 쉽게 보낼 수 있습니다. 다음은 JSON 데이터를 POST 요청으로 전송하는 예제입니다.

    import requests
    
    # 요청할 URL
    url = "<https://jsonplaceholder.typicode.com/posts>"
    
    # POST 요청에 사용할 데이터
    payload = {
        "title": "Python 패키지 실습",
        "body": "requests 패키지로 데이터를 전송해 봅니다.",
        "userId": 1
    }
    
    # POST 요청 보내기
    response = requests.post(url, json=payload)
    
    # 응답 결과 확인
    if response.status_code == 201:
        print("POST 요청 성공:", response.json())
    else:
        print("POST 요청 실패:", response.status_code)

    위 코드에서 requests.post() 메서드를 사용해 JSON 데이터를 전송하는 POST 요청을 보내고, 서버로부터 받은 응답 데이터를 출력합니다.


    5. 외부 패키지 실습 - BeautifulSoup으로 웹 크롤링하기

    웹 크롤링에 필수적인 BeautifulSoup 패키지를 사용해 데이터를 수집하는 예제를 통해 외부 패키지 활용 방법을 익혀 보겠습니다.

    5.1 BeautifulSoup 패키지 설치

    웹 크롤링을 위한 BeautifulSoup을 설치합니다. requests 패키지와 함께 설치하면 웹 데이터 수집에 유용합니다.

    pip install beautifulsoup4

    5.2 BeautifulSoup을 사용한 HTML 파싱

    BeautifulSoup은 웹 페이지의 HTML 데이터를 파싱

    해 원하는 요소를 추출하는 데 유용합니다. 다음 예제에서는 BeautifulSoup을 사용해 HTML에서 제목 요소를 추출합니다.

    import requests
    from bs4 import BeautifulSoup
    
    # 웹 페이지 요청
    url = "<https://example.com>"
    response = requests.get(url)
    
    # HTML 파싱
    soup = BeautifulSoup(response.text, "html.parser")
    
    # 제목 요소 추출
    title = soup.title.string
    print("페이지 제목:", title)

    이 예제에서 BeautifulSoup 객체를 생성하고 HTML 요소를 쉽게 탐색하여 데이터를 추출합니다.


    요약

    Python 외부 패키지 설치와 사용법을 이해하면 개발이 한층 편리해집니다. pip와 가상 환경을 통한 패키지 관리 방법, requests와 BeautifulSoup를 활용한 실습 예제를 통해 다양한 외부 패키지를 효과적으로 사용할 수 있게 되었습니다.

    디스크립션: Python의 외부 패키지를 설치하고 관리하는 방법을 안내합니다. pip 사용법부터 가상 환경 설정, requests와 BeautifulSoup 실습을 통해 패키지 사용에 대한 실무적인 접근을 제공합니다.