Python의 virtual environment (가상 환경)는 서로 다른 프로젝트에서 독립적인 Python 패키지 설정을 유지할 수 있도록 해주는 도구입니다. 이를 통해 프로젝트마다 필요한 패키지와 버전이 달라도 충돌 없이 관리할 수 있습니다. 특히, 여러 프로젝트를 작업할 때나 특정 패키지의 버전을 고정해야 할 때 유용합니다.
가상 환경 설정 및 사용법
1. Python의 venv
모듈 사용
Python 3.3 이후부터는 기본적으로 venv
모듈을 사용하여 가상 환경을 만들 수 있습니다. 아래는 가상 환경을 생성하고 사용하는 방법입니다.
1.1 가상 환경 생성
먼저, 프로젝트 디렉토리로 이동한 후 가상 환경을 생성합니다.
$ python -m venv myenv
위 명령어는 myenv
라는 이름의 가상 환경을 생성합니다. 원하는 이름으로 변경할 수 있습니다.
1.2 가상 환경 활성화
가상 환경을 활성화해야 그 안에서 설치한 패키지를 사용할 수 있습니다. 운영체제에 따라 명령어가 다릅니다.
- Windows:
$ myenv\Scripts\activate
- macOS/Linux:
$ source myenv/bin/activate
활성화되면 프롬프트에 (myenv)
가 표시되어 가상 환경이 활성화되었음을 알 수 있습니다.
1.3 패키지 설치
가상 환경이 활성화된 상태에서 pip
명령어를 사용해 패키지를 설치할 수 있습니다. 예를 들어 requests
패키지를 설치하려면 다음과 같이 합니다.
(myenv) $ pip install requests
1.4 가상 환경 비활성화
가상 환경을 비활성화하려면 다음 명령어를 사용합니다.
(myenv) $ deactivate
비활성화하면 다시 시스템의 기본 Python 환경으로 돌아갑니다.
2. virtualenv
패키지 사용
Python 3.3 이전 버전을 사용하거나 virtualenv
를 선호하는 경우, virtualenv
패키지를 사용할 수 있습니다. 이 패키지는 Python의 가상 환경을 관리하는데 특화된 도구입니다.
2.1 virtualenv
설치
먼저 pip
를 사용해 virtualenv
를 설치합니다.
$ pip install virtualenv
2.2 가상 환경 생성
virtualenv
를 사용하여 가상 환경을 생성합니다.
$ virtualenv myenv
이후의 활성화 및 비활성화 방법은 venv
와 동일합니다.
3. 가상 환경에서 주의할 점
- 가상 환경을 항상 활성화해야 한다: 가상 환경에서 작업할 때는 항상 가상 환경을 활성화해야 합니다. 그렇지 않으면 전역 Python 패키지를 사용할 수 있습니다.
- 패키지 목록 저장 및 복원: 가상 환경에서 사용한 패키지 목록을 저장하고, 다른 개발 환경에서 동일한 패키지를 설치하려면 다음 명령어를 사용합니다.
- 패키지 목록 저장:
(myenv) $ pip freeze > requirements.txt
- 저장된 목록을 바탕으로 패키지 설치:
$ pip install -r requirements.txt
4. 예제
- 가상 환경을 만들어
requests
패키지를 설치하고 사용하는 예제를 보여드리겠습니다.
$ python -m venv myenv # 가상 환경 생성
$ source myenv/bin/activate # 가상 환경 활성화 (macOS/Linux)
(myenv) $ pip install requests # requests 패키지 설치
(myenv) $ python # Python 인터프리터 실행
# requests 사용 예제
import requests
response = requests.get('https://api.github.com')
print(response.status_code) # 200 출력
print(response.json()) # GitHub API의 응답 출력
- 가상 환경 비활성화:
(myenv) $ deactivate # 가상 환경 비활성화
가상 환경을 활용하면 각 프로젝트마다 다른 패키지 버전을 관리하고, 충돌을 방지하면서도 효율적으로 Python 프로젝트를 진행할 수 있습니다.
'언어 > Python' 카테고리의 다른 글
[ Python ] -menv 가상 환경을 사용하는 이유 - 개념 (1) | 2024.09.30 |
---|---|
[ Python ] numpy 설치하기 (0) | 2024.09.07 |
[ Python ] array 패키지 사용하기 (0) | 2024.09.07 |
[ Python ] tan() 각도와 거리로 높이 구하기 (0) | 2024.09.07 |
[ Python ] math 패키지 사용하기 (0) | 2024.08.27 |