얼마 전 Python 작업을 하다가 pip 패키지를 설치하던 중, 오류가 발생하였다.

대충 설명하면, 해당 패키지가 시스템에 영향을 줄 수 있기 때문에 설치를 막았다는 내용이다.
이를 위해서는 설명처럼 "--break-system-packages" 옵션을 주어 시스템 전체에 패키지를 설치하거나, 가상 환경을 만들어 거기에 패키지를 설치하여야 한다.
이 글에서는 가상 환경을 생성하는 방법에 대해 서술한다.
python3-venv 설치
먼저 python3-venv를 설치한다.
이 패키지는 보통 python을 설치할 때 같이 설치되지만, 같이 설치되지 않는 경우도 있다.
아래의 명령을 입력한다.
sudo apt update
sudo apt install python3-venv
python3-venv를 설치하면 설치되어 있는 python 버전에 맞는 패키지 또한 같이 설치된다.
가상 환경 설정
패키지가 설치되었다면 이제 가상 환경을 설정할 수 있다.
아래의 예문을 참고하여 예문을 입력한다.
python -m venv 가상환경이름
예를 들어 gasang이라는 가상 환경을 설정하려면 아래의 명령을 입력한다.
python -m venv gasang

그러면, 현재 디렉터리 아래에 gasang이라는 가상 환경 디렉터리가 생성된다.

이제 이 가상 환경을 활성화하여야 한다.
가상 환경 활성화
가상 환경을 활성화하려면 아래의 명령을 입력한다.
# Windows CMD
[가상환경 이름]\Scripts\activate
# Windows Powershell
.\[가상환경 이름]\Scripts\Activate.ps1
# macOS/Linux
source [가상환경 이름]/bin/activate

이 명령은 위 이미지에 표시된 셸 실행 파일을 실행함으로써 파이썬 가상 환경을 활성화한다.

가상 환경이 활성화되면, 터미널 프롬프트 앞에 가상 환경 이름이 표시된다.
이제 아무런 방해 없이 pip 패키지를 설치할 수 있다.
가상 환경 비활성화
가상 환경을 비활성화하려면 아래의 명령을 입력한다.
deactivate

그러면 가상 환경이 비활성화된다.
여담
각 가상 환경은 독립적이기 때문에, 서로에게 영향을 주지 못한다.
한편, 각자의 환경마다 공통된 패키지를 필요로 하는 경우가 있다면, requirements.txt를 생성해 사용할 수 있다.
예문은 아래와 같다:
pip freeze > requirements.txt # pip freeze라는 명령어로 출력한 패키지 의존성 정보를 requirements.txt에 기록
pip install -r requirements.txt # pip에서 해당 파일을 이용한 패키지 설치를 하는 명령
참고 자료
https://en.wikipedia.org/wiki/Pip_(package_manager)
pip (package manager) - Wikipedia
From Wikipedia, the free encyclopedia Package management system for Python pip (also known by Python 3's alias pip3) is a package-management system written in Python and is used to install and manage software packages.[4] The Python Software Foundation rec
en.wikipedia.org
https://docs.python.org/3/library/venv.html
venv — Creation of virtual environments
Source code: Lib/venv/ The venv module supports creating lightweight “virtual environments”, each with their own independent set of Python packages installed in their site directories. A virtual en...
docs.python.org
'컴퓨터' 카테고리의 다른 글
| Visual Studio Code에서 원격 접속 시 도메인 이름으로 접속 (0) | 2025.12.01 |
|---|---|
| SSH 접속 오류: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! (0) | 2025.12.01 |
| 브라우저를 이용하여 로컬 파일 탐색 (0) | 2024.04.01 |
댓글