pip freeze 명령어로 현재 설치된 Python Package 목록을 requirements.txt 파일로 쉽게 저장하는 방법을 소개합니다.
Python 프로젝트를 진행하다 보면, 현재 설치된 Package 목록을 다른 환경에서도 똑같이 재현하고 싶을 때가 많습니다. 이럴 때 가장 많이 사용하는 방법이 바로 requirements.txt 파일을 만드는 것입니다. 이번 글에서는 현재 설치된 Package들을 requirements.txt 파일로 저장하는 방법과, 작업 시 유의할 점들을 정리해보았습니다.
requirements.txt란 무엇인가요?
requirements.txt는 Python 프로젝트에서 필요한 Package와 그 Version을 기록해 두는 표준 파일입니다. 이 파일을 통해 다른 개발자나 서버에서도 동일한 환경을 손쉽게 구축할 수 있습니다.
설치된 Package 목록 저장하는 가장 쉬운 방법
1. pip freeze 명령어 사용
가장 기본적이고 널리 쓰이는 방법은 pip freeze 명령어를 활용하는 것입니다. 아래와 같이 터미널(명령 프롬프트)에서 입력하면 됩니다.
pip freeze > requirements.txt
이 명령은 현재 환경에 설치된 모든 패키지와 버전을 requirements.txt 파일에 한 줄씩 기록합니다. 나중에 이 파일을 이용해 동일한 환경을 쉽게 복원할 수 있습니다.
2. 가상환경에서 실행하면 더 깔끔해요
불필요한 패키지가 포함되는 것을 막으려면, 가상환경(venv, conda 등)을 먼저 만들고 필요한 패키지만 설치한 뒤 위 명령어를 실행하는 것이 좋습니다. 이렇게 하면 프로젝트에 꼭 필요한 패키지만 포함된 requirements.txt 파일을 만들 수 있습니다.
3. requirements.txt로 패키지 설치하기
requirements.txt 파일이 준비되었다면, 다른 환경에서 아래 명령어로 손쉽게 패키지를 설치할 수 있습니다.
pip install -r requirements.txt
추가 팁
pip freeze는 Package명과 Version을 “Package==Version” 형식으로 저장합니다.
일부 Package는 다운로드 주소가 포함될 수 있으니, 필요에 따라 파일을 확인해보세요.
pip list 명령어도 있지만, 이 방법은 사람이 보기엔 좋으나 requirements.txt로 바로 사용하기엔 적합하지 않습니다.
마무리
requirements.txt 파일은 Python 프로젝트의 협업과 배포, 환경 재현에 꼭 필요한 도구입니다. 위 방법을 활용해 프로젝트 관리에 도움을 받아보세요!
Python Virtual Environment Setting with pyenv-win on Window
Windows 환경에서 pyenv-win 을 사용하여 Python 가상환경 구성
Windows 환경에서 pyenv-win 을 사용한 파이썬 가상환경을 구성하는 방법에 대한 기록을 남깁니다.
Windows 환경에서 pyenv-win을 사용하여 Python 가상환경을 관리하는 방법에 대한 블로그를 작성하기 위해, 다음 단계를 따라 진행할 수 있습니다. 이 블로그는 설치부터 가상환경 관리까지 모든 과정을 포함합니다.
Windows 환경에서 pyenv-win 을 사용하여 Python 가상환경 구성하기
Python은 다양한 프로젝트에서 사용되며, 각 프로젝트마다 다른 버전의 Python을 요구할 수 있습니다. 이를 효과적으로 관리하기 위해 pyenv-win을 사용하면 여러 버전의 Python을 설치하고 간편하게 전환할 수 있습니다. 이 블로그에서는 Windows 환경에서 pyenv-win을 설치하고 사용하는 방법을 단계별로 안내하겠습니다.
1. pyenv-win 설치
1.1. pyenv-win 다운로드
먼저, pyenv-win을 GitHub에서 다운로드합니다. Git을 설치한 상태여야 합니다.
궁금해서 pyenv 로 설치하지 않은 기존의 python 과의 설정을 보려고 py -0 을 실행해 봤습니다.
골때리는 상황이 전개될 듯하군요.. ㅎㅎ
3. 프로젝트별 로컬 Python 버전 설정
3.1. 프로젝트별 로컬 Python 버전설치
일단 설치가능한 버전을 확인해 봅니다. MAC OS 와 동일한 명령어라서 마음에 듭니다.
pyenv install --list
그리고 3.10.11 version 을 설치합니다.
pyenv install 3.10.11
3.2. 프로젝트 디렉토리로 이동
프로젝트가 있는 디렉토리로 이동합니다.
cd d:\Python_Labs\Projects\Prj_31011
3.3. 로컬 Python 버전 설정
해당 프로젝트에서 사용할 Python 버전을 설정합니다.
pyenv local 3.10.11
3.4. 설정 확인
pyenv local 3.10.11 명령어를 실행시키고 pyenv version 을 실행시켜서 현재 Prj_31011 폴더에서 사용중인 python 버전이 아래와 같이 3.10.11 이 설정된 모습을 볼 수 있습니다.
다른 폴더로 이동했을 때 pyenv version 을 실행시키면 Global version 이 표시되는 걸 볼 수 있죠.
pyenv version
3.5. 설정 해결
하지만 python –version 을 확인해보면 아직도 3.12 버전이 표시되는 걸 볼 수 있습니다.
느낌적인 느낌적으루다가.. 환경변수를 수정해 주면 될 듯합니다.
이 곳에 등록되어 있는 환경변수를 삭제해 줍니다. 그리고 열려있는 command 창을 닫아주고 다시 열어줍니다.
이제야 해결됐네요..
3.12.0 이 설치되어 있는 상황인데도요..
속이 시원합니다. ^^
4. 가상환경 생성 및 관리
4.1. 가상환경 생성
pyenv-win과 virtualenv를 함께 사용하여 가상환경을 생성할 수 있습니다. virtualenv가 설치되어 있는지 확인합니다.
하지만 MAC OS 에 비해 좀 귀찮네요.
pip install virtualenv
특정 Python 버전을 사용하여 가상환경을 생성합니다.
pyenv shell 3.10.11
virtualenv virtualEnv_31011
## pyenv virtualenv 3.10.11 virtualEnv_31011 # MAC OS 와 다른점이에요.
windows 에서는 Pyenv-Virtualenv plugin 을 사용할 수 없습니다.
그래서 위와 같은 방법을 사용할 수 밖에 없어요.
4.2. 가상환경 목록 확인
생성된 가상환경 목록을 확인합니다.
## pyenv virtualenvs #Pyenv-Virtualenv plugin 을 사용할 수 없어서 MAC OS 에서 사용가능합니다.
4.3. 가상환경 활성화
생성한 가상환경을 활성화합니다.
virtualEnv_31011\Scripts\activate # 폴더위치 확인하세요... ^^
## pyenv activate myenv #Pyenv-Virtualenv plugin 을 사용할 수 없어서 MAC OS 에서 사용가능합니다.
4.4. Package 설치
가상환경이 활성화된 상태에서 pip 명령어를 사용하여 필요한 패키지를 설치할 수 있습니다. 예를 들어, requests 패키지를 설치하려면 다음과 같이 입력합니다.
pip install requests
설치하고 나면 \virtualEnv_31011\Lib\site-packages 폴더내에 request 관련 libray 들이 설치되어 있는 것을 확인할 수 있습니다.
4.5. 가상환경 비활성화
작업이 끝난 후 가상환경을 비활성화합니다.
deactivate
4.6. 가상환경 삭제
필요 없는 가상환경을 삭제합니다.
rmdir /s /q virtualEnv_31011
## pyenv uninstall myenv #Pyenv-Virtualenv plugin 을 사용할 수 없어서 MAC OS 에서 사용가능합니다.
결론
이제 pyenv-win을 사용하여 Windows 환경에서 Python 버전과 가상환경을 쉽게 구성하고 관리할 수 있게 되었습니다.
다양한 프로젝트마다 필요한 Python 버전을 독립적으로 설정하고, 가상환경을 활용하여 패키지 충돌 없이 개발을 진행할 수 있습니다. pyenv-win은 Python 개발자의 생산성을 높이는 데 큰 도움이 됩니다.
하지만 Windows 에서는 pyenv 의 기능이 조금은 복잡하고 귀찮은 과정이 있네요..