Python

[Python] 가상환경 설치 및 requirements.txt 사용해보기

Jerry_K 2024. 7. 6. 20:55

✨파이썬 가상환경

가상환경은 파이썬에서 독립적인 프로젝트를 위한 개별적인 공간 

 

가상환경하면 뭔가 어려워 보인다. 

그래서 프로젝트에 잘 안하곤 했는데, 이게 사실은 엄청 간단하고 

한번 만들어두면 또 편하니 잘 활용해보자.

 

📌가상환경 특징

1. 독립성 : 가상환경은 특정 프로젝트에 필요한 패키지와 의존성을 독립적으로 설치 및 관리
2. 의존성 관리 : 프로젝트 간의 버전으로 인한 충돌 피할 수 있음
3. 경량화 : 필요한 패키지와 파이썬 실행 파일만 포함하므로 비교적 가벼움

 

 

🔍가상환경 관리 도구 `venv` vs `virtualenv`

venv :
1. Python 3.3부터 표준 라이브러리에 포함되어 있어 설치 없이 사용 가능
2. Python 3.X 버전에서만 사용 가능 
3. 필요한 최소한의 기능만 포함하여 일반적으로 가볍고 빠름

virtualenv :
1. 별도의 패키지를 설치해야 하고 , Python 3.X 및 Python 2.X에서 모두 사용 가능
2. 약간 더 무겁지만, 더 많은 기능과 옵션을 제공 

 

 

📕가상환경 실행 해보기

python -m venv 가상환경이름

 

터미널에 해당 코드를 작성하면 "가상환경이름"으로 된 폴더가 생성된다.

 

 

가상환경이름\Scripts\activate

 

이후 해당 코드를 실행하면 가상환경이 실행된다.

(슬래쉬로 하면 가상환경 실행 안되고, 역슬래쉬로 해야 함)

 

 

 

이렇게 가상환경을 만들고 실행이 끝났다 ... 

정말 간단하다 ㅎㅎ...

 

 

pip list

 

pip list 명령어로 설치된 라이브러리를 보면, 

pip 와 setuptools가 전부이다.

 

이제 여기서 필요한 라이브러리를 설치하면 된다. 

pip install "라이브러리" 를 해도 되긴 하지만 설치해야 할게 1~2개가 아니니,

requirements.txt를 이용하자. ( 이 부분은 포스팅 아래쪽에 설명 참고 )

 

 

📕가상환경 실행 종료 

deactivate

 

가상환경 종료는 간단히 deactivate 명령어로 종료 할 수 있다. 

 

 

 

✏️ requirements.txt 사용하기

가상환경을  만들다 보면 requirements.txt를 많이 쓰게 될 것이다.

requirements.txt는 Python 프로젝트에서 필요한 패키지와 버전을 명시하는 텍스트 파일로,

다른 개발자들과 동일한 환경을 설정할 수 있도록 도와준다. 

 

내 로컬 컴퓨터 환경을 예시로 requirements.txt를 활용해보겠다.

 

pip freeze > requirements.txt

 

동료 개발자와 같이 협업을하고 내 개발 환경과 같이 맞추고 싶으면 ,

해당 명령어로 현재 나의 환경의 라이브러리와 버전 보여주는 텍스트 파일을 생성 할 수 있다.

 

 

requirements.txt 형태

다들 설치되어 있는 라이브러리와 버전이 다른데, 

현재 내 로컬 환경에서 라이브러리와 버전은 이런식 되어있다. 

 

 

 

생성된 requirements.txt를 동료 개발자에게 업로드하고, 

pip install -r requirements.txt

해당 명령어를 사용하면, 한번에 라이브러리를 설치 하여 개발 환경을 맞출 수 있다. 

 

 

 

간혹 이런 에러들이 발생하는데,

이때에는 버전을 잘 수정하거나 오류가 되는 라이브러리를 requirements.txt에 지워 나중에 따로 설치해주자.