[Python] pip requirements.txt

2022. 1. 31. 22:15· Language/Python


python 으로 프로젝트를 진행하면 보통 가상환경(virtualenv) 으로 진행을 한다.

가상환경이란 원하는 Python 환경을 구축하기 위해 필요한 모듈만 담아 놓는 곳 라고 생각하면 된다.

가상환경을 사용하는 가장 큰 이유는 여러개의 서비스를 개발 할 경우 pip으로 설치한 패키지의 버전들이 문제가 될 수 있어서 그렇다. 

https://blog.debugeverything.com/virtual-environments-with-python-virtualenv/

 

 


그래서 pip 로 설치한 패키지를 어떻게 관리를 하는지 적으려고 한다.

 

# Step 1

pip freeze ( pip list )

두개의 명령어 다 상관없는데 pip 으로 설치한 list 들을 보여준다.

(venv) limjian@Jians-MacBook-Pro-13 python-utils % pip freeze
autopep8==1.6.0
.
.
.
pycodestyle==2.8.0
pycryptodome==3.14.0
toml==0.10.2
.
.



(venv) limjian@Jians-MacBook-Pro-13 python-utils % pip list
Package      Version
------------ -------
autopep8     1.6.0
.
.
.
pip          21.2.4
pycodestyle  2.8.0
pycryptodome 3.14.0
setuptools   58.1.0
toml         0.10.2
.
.




# Step 2

pip freeze > requirements.txt

pip 로 설치한 package 목록의 버전들을 requirements.txt 안에 적어주는 명령어

requirements.txt 파일이 만들어지고, cat 으로 안에 내용을 보면

(venv) limjian@Jians-MacBook-Pro-13 python-utils % pip freeze > requirements.txt
(venv) limjian@Jians-MacBook-Pro-13 python-utils % cat requirements.txt 
autopep8==1.6.0
.
.
.
pycodestyle==2.8.0
pycryptodome==3.14.0
toml==0.10.2



# Step 3

 

pip install -r requirements.txt

여러사람이 같이 작업을 할 때, repository clone 을 받았을 때 등..

requirements.txt 위 처럼 버전과 함께 명시해주면

위 명령어만 입력해 주면 pip package 들이 명시되어있는 버전에 맞게 설치가 된다.

'Language > Python' 카테고리의 다른 글

[Python] type  (0) 2022.07.01
[Python] type annotation (type hint)  (0) 2022.02.27
[Python] AES 암호/복호화  (2) 2022.01.31
[Python] Object type <class 'str'> cannot be passed to C code (AES)  (0) 2022.01.31
[Python] module 'time' has no attribute 'clock' (pycrypto)  (0) 2022.01.31
'Language/Python' 카테고리의 다른 글
  • [Python] type
  • [Python] type annotation (type hint)
  • [Python] AES 암호/복호화
  • [Python] Object type <class 'str'> cannot be passed to C code (AES)
임쟌
임쟌
임쟌
Jian's Blog
임쟌
전체
오늘
어제

공지사항

  • [자기소개]
  • 쟌's Blog (227)
    • Language (32)
      • Python (8)
      • Go (24)
      • Java (0)
    • Framework (10)
      • Django (9)
      • Gin (1)
      • Spring boot (0)
      • Fiber (0)
    • Database (10)
      • PostgreSQL (8)
      • MySQL (0)
      • Redis (2)
    • Server (51)
      • Linux (16)
      • Git (12)
      • Oracle Cloud Infrastructure (13)
      • Mac (4)
      • Docker (4)
      • RabbitMQ (0)
      • ETC (2)
    • Operating System (0)
      • OS (0)
    • Algorithm (22)
      • Go (22)
      • Python (0)
    • Exam Certification (4)
    • Daily Life (27)
      • Review (21)
      • Diary (6)
    • 이공계전문기술연수 (71)
      • Java (17)
      • Database (8)
      • HTML | CSS (13)
      • JavaScript | jQuery (6)
      • Servlet | JSP (16)
      • Spring Framework (11)

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
임쟌
[Python] pip requirements.txt
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.