점프 투 파이썬 DAY13(외부라이브러리)

정지범·2026년 9월 22일

점프 투 파이썬

목록 보기
25/37

05-7 외부 라이브러리

목차

  • 1. 외부 라이브러리란?

  • 2. pip

    • 2-1. pip install
    • 2-2. pip uninstall
    • 2-3. 특정 버전으로 설치하기
    • 2-4. 최신 버전으로 업그레이드하기
    • 2-5. 설치된 패키지 확인하기
  • 3. Faker

    • 3-1. Faker 설치하기
    • 3-2. Faker 사용해 보기
    • 3-3. Faker 활용하기
  • 4. sympy

    • 4-1. sympy 설치하기
    • 4-2. sympy 사용해 보기
    • 4-3. sympy 활용하기

1. 외부 라이브러리란?

파이썬을 설치하면 기본적으로 함께 설치되는 라이브러리를 표준 라이브러리라고 한다.

반면 외부 라이브러리는 파이썬에 기본으로 포함되어 있지 않기 때문에 사용하기 전에 별도로 설치해야 한다.

표준 라이브러리
→ 파이썬 설치 시 기본 제공
→ 별도 설치 필요 X

외부 라이브러리
→ 기본 제공 X
→ pip 등을 이용해 설치 필요

예를 들어

Faker
sympy
requests
pandas
numpy

등이 외부 라이브러리에 해당한다.

외부 라이브러리는 필요한 기능을 직접 처음부터 만들지 않고 다른 사람이 만들어 둔 기능을 가져와 사용할 수 있게 해 준다.


2. pip

pip은 파이썬의 외부 패키지를 설치하고 관리하는 도구이다.

외부 라이브러리를 사용하려면 먼저 pip을 이용하여 설치하는 경우가 많다.

pip
 ↓
패키지 검색
 ↓
다운로드
 ↓
설치

또한 설치하려는 패키지가 다른 패키지를 필요로 한다면 필요한 패키지까지 함께 설치해 준다.


PyPI

파이썬 패키지는 주로 PyPI(Python Package Index) 에 등록되어 있다.

쉽게 생각하면

PyPI
→ 파이썬 패키지가 모여 있는 저장소

pip
→ PyPI에 있는 패키지를 설치해 주는 도구

라고 이해하면 된다.


2-1. pip install

패키지를 설치할 때는 다음과 같이 사용한다.

python -m pip install 패키지이름

예를 들어

python -m pip install Faker

처럼 사용할 수 있다.

구조는

python -m pip install SomePackage
                     └── 설치할 패키지

이다.

패키지 이름만 지정하면 기본적으로 최신 버전을 설치한다.


pip install에서 python -m은?

python -m pip install Faker

여기서

python
→ 현재 사용하는 파이썬으로

-m pip
→ pip 모듈을 실행하고

install Faker
→ Faker를 설치한다.

라고 이해하면 된다.

특히 컴퓨터에 여러 파이썬 버전이 설치되어 있을 경우

pip install Faker

보다

python -m pip install Faker

처럼 작성하면 현재 사용하는 파이썬 환경에 설치되는 것을 더 명확하게 확인할 수 있다.


2-2. pip uninstall

설치했던 패키지를 삭제할 때는 uninstall을 사용한다.

python -m pip uninstall 패키지이름

예를 들어

python -m pip uninstall Faker

처럼 사용한다.

정리

install   → 설치
uninstall → 삭제

2-3. 특정 버전으로 설치하기

특정 버전의 패키지를 설치하려면

==

을 사용한다.

python -m pip install SomePackage==1.0.4

의미는

SomePackage의
1.0.4 버전을 설치

이다.

예를 들어

python -m pip install Faker==37.0.0

처럼 사용할 수 있다.

버전을 지정하지 않으면

python -m pip install Faker

최신 버전이 설치된다.

핵심

패키지이름==버전

2-4. 최신 버전으로 업그레이드하기

이미 설치되어 있는 패키지를 최신 버전으로 업데이트하려면

--upgrade

옵션을 사용한다.

python -m pip install --upgrade SomePackage

예를 들어

python -m pip install --upgrade Faker

처럼 사용한다.

설치된 이전 버전
      ↓
--upgrade
      ↓
최신 버전

2-5. 설치된 패키지 확인하기

현재 설치되어 있는 패키지를 확인하려면

python -m pip list

를 사용한다.

예시

Package        Version
-------------- -------
Faker          37.0.0
pip            25.0
sympy          1.13.3

형태로

패키지 이름 + 버전

을 확인할 수 있다.


💡 pip 명령어 정리

명령어기능
python -m pip install 패키지패키지 설치
python -m pip uninstall 패키지패키지 삭제
python -m pip install 패키지==버전특정 버전 설치
python -m pip install --upgrade 패키지최신 버전으로 업데이트
python -m pip list설치된 패키지 확인

3. Faker

Faker는 테스트용 가짜 데이터를 만들어 주는 외부 라이브러리이다.

예를 들어 회원가입 프로그램을 테스트하기 위해

이름
주소
전화번호
이메일
회사명

같은 데이터가 수십 개 필요하다고 해 보자.

직접 일일이 만드는 대신 Faker를 이용하면 자동으로 생성할 수 있다.


3-1. Faker 설치하기

Faker는 외부 라이브러리이므로 먼저 설치해야 한다.

python -m pip install Faker

설치가 끝나면 파이썬에서 사용할 수 있다.


3-2. Faker 사용해 보기

먼저 Faker를 불러온다.

from faker import Faker

Faker 객체를 생성한다.

fake = Faker()

가짜 이름을 만들어 보자.

print(fake.name())

실행할 때마다 임의의 이름이 생성된다.

예시

Matthew Estrada

한국어 데이터 만들기

기본 설정에서는 영어권 데이터가 만들어질 수 있다.

한국어 데이터를 사용하려면

fake = Faker("ko-KR")

처럼 한국 지역을 지정한다.

from faker import Faker

fake = Faker("ko-KR")

print(fake.name())

실행 예

김하은

실행할 때마다 다른 이름이 나올 수 있다.


주소 만들기

print(fake.address())

실행하면 임의의 한국 주소가 만들어진다.

예시

경기도 성남시 분당구 강남대로

Faker에서 만들어지는 데이터는 실제 사람의 정보가 아니라 테스트를 위한 가상의 데이터이다.


이름과 주소 함께 만들기

from faker import Faker

fake = Faker("ko-KR")

data = (fake.name(), fake.address())

print(data)

예시

('김민수', '서울특별시 강남구 역삼로')

테스트 데이터 30개 만들기

리스트 컴프리헨션을 사용하면 여러 개의 테스트 데이터를 쉽게 만들 수 있다.

from faker import Faker

fake = Faker("ko-KR")

test_data = [
    (fake.name(), fake.address())
    for i in range(30)
]

print(test_data)

구조를 보면

(fake.name(), fake.address())

로

(이름, 주소)

한 세트를 만든다.

그리고

for i in range(30)

을 사용하여 30번 반복한다.

결과적으로

[
    (이름1, 주소1),
    (이름2, 주소2),
    ...
    (이름30, 주소30)
]

형태의 데이터가 만들어진다.


3-3. Faker 활용하기

Faker에서는 이름과 주소 이외에도 다양한 가짜 데이터를 만들 수 있다.

함수생성 데이터
fake.name()이름
fake.address()주소
fake.postcode()우편번호
fake.country()국가명
fake.company()회사명
fake.job()직업
fake.phone_number()전화번호
fake.email()이메일
fake.user_name()사용자명
fake.pyint()임의의 숫자
fake.ipv4_private()사설 IPv4 주소
fake.text()임의의 문장
fake.color_name()색상명

이메일 만들기

print(fake.email())

예시

minsu@example.org

전화번호 만들기

print(fake.phone_number())

실행할 때마다 다른 전화번호 형태의 테스트 데이터가 생성된다.


사설 IP 주소 만들기

print(fake.ipv4_private())

예시

192.168.10.24

임의의 숫자 만들기

print(
    fake.pyint(
        min_value=0,
        max_value=100
    )
)

0~100 사이의 임의의 숫자를 생성한다.


💡 Faker 핵심

from faker import Faker

fake = Faker("ko-KR")

객체를 만든 뒤

fake.name()
fake.address()
fake.email()
fake.phone_number()

처럼 사용한다.

즉,

Faker
 ↓
테스트용 데이터 자동 생성
 ↓
이름 / 주소 / 이메일 / 전화번호 / IP 등

이라고 기억하면 된다.


4. sympy

sympy는 수학 기호와 방정식을 다룰 수 있는 외부 라이브러리이다.

예를 들어

x + 3 = 7

과 같은 방정식에서 x의 값을 파이썬을 이용해 구할 수 있다.


4-1. sympy 설치하기

sympy 역시 외부 라이브러리이므로 설치해야 한다.

python -m pip install sympy

설치가 끝나면

import sympy

로 사용할 수 있다.


4-2. sympy 사용해 보기

다음 문제를 생각해 보자.

가지고 있던 돈의 2/5를 사용했더니 사용한 돈이 1,760원이었다. 원래 가지고 있던 돈은 얼마일까?

원래 가지고 있던 돈을 x라고 하면

x × 2/5 = 1760

이라는 방정식을 만들 수 있다.


미지수 만들기

먼저 sympy를 불러온다.

import sympy

x라는 미지수를 만든다.

x = sympy.symbols("x")

sympy.symbols()는 방정식에서 사용할 기호 또는 미지수를 생성한다.

즉,

x = sympy.symbols("x")

는

x를 일반 숫자가 아니라
수학적인 미지수 x로 사용

한다는 의미이다.


여러 개의 미지수 만들기

x, y = sympy.symbols("x y")

이렇게 작성하면

x
y

두 개의 미지수를 한 번에 생성할 수 있다.


Fraction

정확한 분수 계산을 위해 파이썬 표준 라이브러리인 Fraction을 사용할 수 있다.

from fractions import Fraction

예를 들어

a = Fraction(1, 5)

print(a)

실행 결과

1/5

문자열로도 만들 수 있다.

a = Fraction("1/5")

방정식 만들기

문제의 방정식은

x × 2/5 = 1760

이다.

코드로 표현하면

from fractions import Fraction
import sympy

x = sympy.symbols("x")

f = sympy.Eq(
    x * Fraction("2/5"),
    1760
)

여기서

sympy.Eq(a, b)

는

a = b

라는 방정식을 의미한다.

즉,

sympy.Eq(
    x * Fraction("2/5"),
    1760
)

은

x × 2/5 = 1760

이라는 뜻이다.


방정식 풀기

만든 방정식의 답은 solve()를 이용해 구한다.

result = sympy.solve(f)

print(result)

실행 결과

[4400]

즉,

x = 4400

이다.

solve()의 결과가 리스트인 이유는 방정식에 따라 해가 여러 개 존재할 수 있기 때문이다.

따라서 첫 번째 값을 가져오려면

result[0]

을 사용한다.


남은 돈 계산하기

원래 가진 돈은

4,400원

이고 사용한 돈은

1,760원

이므로

remains = result[0] - 1760

print(remains)

실행 결과

2640

이다.


전체 코드

from fractions import Fraction
import sympy

# 가지고 있던 돈을 x라고 한다.
x = sympy.symbols("x")

# x × 2/5 = 1760
f = sympy.Eq(
    x * Fraction("2/5"),
    1760
)

# 방정식의 해 구하기
result = sympy.solve(f)

# 남은 돈 계산
remains = result[0] - 1760

print(f"남은 돈은 {remains}원입니다.")

실행 결과

남은 돈은 2640원입니다.

4-3. sympy 활용하기

sympy는 일차방정식뿐 아니라 여러 종류의 방정식을 풀 수 있다.


2차 방정식

다음 방정식을 풀어 보자.

x² = 1

코드

import sympy

x = sympy.symbols("x")

f = sympy.Eq(
    x ** 2,
    1
)

print(sympy.solve(f))

실행 결과

[-1, 1]

왜 답이 2개일까?

(-1)² = 1
1²    = 1

이므로

x = -1
x = 1

두 개의 해가 존재하기 때문이다.


연립방정식

다음 연립방정식을 풀어 보자.

x + y = 10
x - y = 4

먼저 두 개의 미지수를 만든다.

import sympy

x, y = sympy.symbols("x y")

두 개의 방정식을 만든다.

f1 = sympy.Eq(
    x + y,
    10
)

f2 = sympy.Eq(
    x - y,
    4
)

solve()에 두 방정식을 전달한다.

result = sympy.solve([f1, f2])

print(result)

실행 결과

{x: 7, y: 3}

즉,

x = 7
y = 3

이다.

확인해 보면

7 + 3 = 10
7 - 3 = 4

두 방정식 모두 만족한다.


solve() 결과 형태

미지수 하나를 풀었을 때

sympy.solve(f)

예시

[4400]

처럼 리스트 형태가 될 수 있다.

반면 여러 미지수를 가진 연립방정식을 풀면

sympy.solve([f1, f2])

예시

{x: 7, y: 3}

처럼 딕셔너리 형태의 결과를 확인할 수 있다.


💡 sympy 핵심 문법

문법설명
sympy.symbols("x")미지수 생성
sympy.symbols("x y")여러 미지수 생성
sympy.Eq(a, b)a = b 방정식 생성
sympy.solve()방정식의 해 구하기
Fraction(1, 5)정확한 분수 표현

💡 표준 라이브러리와 외부 라이브러리

구분표준 라이브러리외부 라이브러리
설치파이썬과 함께 설치별도 설치 필요
설치 명령필요 없음주로 pip 사용
예os, random, jsonFaker, sympy

💡 전체 핵심 정리

이번 장에서 가장 중요한 것은 크게 3가지이다.

1. pip
→ 외부 패키지를 설치하고 관리

2. Faker
→ 테스트용 가짜 데이터 생성

3. sympy
→ 수학 기호와 방정식 계산

pip

python -m pip install 패키지
외부 라이브러리 설치

Faker

from faker import Faker

fake = Faker("ko-KR")

print(fake.name())
print(fake.address())
테스트용 가짜 데이터 생성

sympy

import sympy

x = sympy.symbols("x")

f = sympy.Eq(x + 3, 7)

print(sympy.solve(f))

실행 결과

[4]
방정식의 해 계산

💡 특히 기억해야 할 부분

pip install
→ 패키지 설치

pip uninstall
→ 패키지 삭제

pip list
→ 설치된 패키지 확인

패키지==버전
→ 특정 버전 설치

--upgrade
→ 최신 버전 업데이트

그리고 라이브러리의 역할은

Faker
→ 테스트 데이터가 많이 필요할 때

sympy
→ 방정식이나 수학 계산이 필요할 때

라고 기억하면 된다.

외부 라이브러리를 잘 활용하면 이미 다른 사람이 만들어 둔 기능을 가져와 사용할 수 있기 때문에 프로그램을 훨씬 빠르고 편리하게 만들 수 있다.

profile
성실하자:)

0개의 댓글