[Python] 파이썬 가상환경(Virtual Environment) 설정
가상 환경(Virtual Environment)
파이썬을 컴퓨터에서 시행할 때 진행하려는 프로젝트에 대하여 가상 환경(Virtual Environment)을 설정해주어야 한다.
각 가상환경은 서로 독립적이기 때문에 필요한 패키지를 새로 설치해야 한다.
1. 'requirements.txt' 파일 사용
터미널 Bash에 작성
현재 가상환경에 설치된 패키지를 'requirements.txt' 파일로 저장
pip freeze > requirements.txt
그 다음, 새로운 가상환경을 만든 후에 필요한 패키지 설치를 위해 다음과 같은 명령 입력
pip install -r requirements.txt
이 명령어를 통하여 'requirements.txt'에 있는 패키지들을 설치 가능
2. 기존 가상환경을 복제(Optional)
virtualenv-clone 패키지를 사용하기
pip install virtualenv-clone
패키지를 사용하기
virtualenv-clone old_env new_env
그대로 복사해 사용하기
나의 로컬, VS code를 통하여 모듈(module)에 대하여 import 하려고하였으나, pip install도 import도 안 되는 상황
-> 파이썬의 가상환경을 만들어줘야 한다!
(일전에 Django에 대하여도 pip install을 할 때 해당 프로젝트에 맞는 가상환경을 구성한 뒤에 실시)
파이썬의 가상환경이란?
Python의 가상환경(virtual environment)은 특정 프로젝트마다 독립된 Python 환경을 만드는 기능입니다. 가상환경을 사용하면 프로젝트마다 다른 패키지나 모듈, 심지어 다른 Python 버전을 사용할 수 있습니다. 이렇게 하면 프로젝트 간에 패키지 버전 충돌을 피할 수 있으며, 시스템 전체에 영향을 주지 않고 프로젝트별로 환경을 관리할 수 있습니다.
예를 들어, 한 프로젝트에서는 `Django`의 3.x 버전을 사용하고, 다른 프로젝트에서는 2.x 버전을 사용해야 할 때, 가상환경을 사용하면 각 프로젝트가 필요한 버전에 맞춰 독립적인 환경을 유지할 수 있습니다.
가상환경의 장점
1. 독립된 환경 제공: 가상환경은 시스템의 전역 Python 환경과는 별도로 동작하여, 프로젝트별로 독립적인 패키지를 관리할 수 있습니다.
2. 의존성 충돌 방지: 서로 다른 프로젝트가 서로 다른 버전의 라이브러리를 요구하더라도 가상환경을 통해 충돌을 피할 수 있습니다.
3. 일관된 환경 유지: 배포할 때 다른 시스템에서 동일한 환경을 쉽게 재현할 수 있습니다.
4. 간편한 관리: 필요 없는 패키지를 전역에 설치할 필요 없이, 가상환경 내에서만 설치하고 관리할 수 있습니다.
파이썬의 가상환경 설정 방법
1. 가상환경 만들기
우선적으로, 파이썬 프로젝트 폴더로 이동한 후 가상 환경을 만드는 명령어를 입력
pythonn -m venv 가상환경이름
# 가상환경 생성
pythonn -m venv 가상환경이름
이 명령을 실행하면, 가상환경이름과 동일한 이름의 폴더가 생성되고 그 안에 Python 실행 파일과 독립적인 라이브러리 설치 경로가 포함된다
2. 가상환경 활성화
가상환경을 활성화하면, 해당 가상환경 내에서만 Python과 pip 명령어를 입력해야한다.
가령 가상환경 이름을 'myenv'로 설정하였다고 하면,
myenv\Scripts\activate
입력을 통하여 activate로 활성화
가상환경이 활성화되면 프롬프트가 `(myenv)`와 같이 변경되어 가상환경이 활성화되었음을 표시함을 확인
3. 가상환경에서 패키지 설치
가상환경을 활성화한 후에는 `pip`을 사용하여 필요한 패키지를 설치가능
pip install pytorch
이렇게 설치된 패키지는 가상환경 내에만 설치되며, 다른 가상환경이나 시스템 전역에는 영향을 미치지 않는 독립적인 환경이다!
4. 가상환경 비활성화
작업이 끝나면 가상환경을 비활성화하여 시스템 전역 Python 환경으로 돌아갈 수 있습니다. 비활성화는 간단히 `deactivate` 명령을 실행하면 됩니다.
5. 가상환경 삭제
가상환경을 더 이상 사용하지 않는다면 해당 폴더(`myenv` 폴더)를 삭제하면 됩니다. 이는 가상환경 내 모든 파일과 설정을 제거하는 가장 간단한 방법입니다.
rm -rf myenv # Mac/Linux
rmdir /s myenv # Windows
추가적인 팁
1. `requirements.txt` 파일로 의존성 관리
가상환경 내에서 설치된 패키지를 다른 사람과 공유하거나, 동일한 환경을 재구성할 때는 `requirements.txt` 파일을 사용할 수 있습니다.
가상환경 내 설치된 모든 패키지를 기록
pip freeze > requirements.txt
나중에 이 파일을 사용하여 동일한 가상환경을 복원
pip install -r requirements.txt
2. VSCode에서 가상환경을 사용
VSCode에서 가상환경을 사용할 때는 Python 인터프리터를 해당 가상환경으로 설정해야 합니다.
- `Ctrl + Shift + P`를 눌러 Command Palette를 열고, "Python: Select Interpreter"를 선택합니다.
- 생성한 가상환경을 목록에서 선택하면 VSCode에서 해당 가상환경을 사용하게 됩니다.
요약
1. 가상환경은 프로젝트마다 독립된 Python 환경을 제공하여 의존성 충돌을 방지합니다.
2. `python -m venv 가상환경이름` 명령으로 가상환경을 생성합니다.
3. 가상환경을 활성화하고 패키지를 설치한 후, 필요 시 비활성화하거나 삭제할 수 있습니다.
4. VSCode와 같은 IDE에서도 쉽게 가상환경을 설정하고 사용할 수 있습니다.
가상환경을 사용하면 여러 프로젝트를 효율적으로 관리할 수 있으니, 프로젝트마다 사용을 추천합니다!
출처: ChatGPT