개발자 도구

requirements.txt분석과 정리

의존성 선언을 구조화하고 선택한 그룹을 검토한 뒤 내보내세요.

requirements.txt

의존성 파일 입력

선택한 그룹 결과

텍스트는 브라우저에서 처리합니다. 패키지 조회, URL 요청 또는 업로드를 하지 않습니다.

형식과 추출 범위

pyproject.toml에서는 project.dependencies, project.optional-dependencies, build-system.requires만 추출합니다. 다른 의존성 테이블은 제외합니다.

UTF-8 100 KiB · 의존성 1000개 · 선언당 4096자 · 마커는 실행하지 않습니다.

입력이나 옵션이 바뀌었습니다. 다시 분석한 뒤 내보내세요.

의존성 파일을 합치면 같은 패키지가 여러 번 나타날 수 있습니다. 그러나 이름만 같다고 중복은 아닙니다. extras나 버전 범위, 적용 환경이 다르면 별개의 선언으로 남겨야 합니다.

requirements.txt의 각 선언을 살펴보거나 pyproject.toml의 표준 의존성 그룹을 추출할 수 있습니다. 설치 환경을 만들거나 빌드 설정을 다시 쓰는 과정은 필요하지 않습니다.

requirements.txt를 여기서 확인하는 이유

이름뿐 아니라 조건과 출처도 함께 확인합니다.

환경 조건을 그대로 유지

이름, extras, 버전 지정자, URL과 마커를 분리해서 보여 주면서 원래 선언도 보존합니다. 현재 브라우저의 운영체제에 맞지 않는다는 이유로 의존성을 삭제하지 않습니다.

하나의 선언이 여러 필드로 나뉘고 조건은 연결된 채 남아 있는 모습

정확히 같은 선언만 제거

requirements.txt 정리 미리보기에서 삭제 수와 정렬로 이동하는 수를 확인하세요. 같은 이름이라도 제약이 다르면 유지하며, TOML의 실행·선택·빌드 의존성을 섞지 않습니다.

같은 의존성 카드 두 장은 하나로 합치고 조건이 다른 카드는 유지하는 모습

내보내기 전에 확인할 세 가지

01

형식 변경과 예제 교체 구분

입력 형식을 바꿔도 원문은 그대로입니다. 선택한 형식의 예제를 사용하려면 교체 미리보기를 확인하세요. 적용 후 한 번 실행 취소할 수 있습니다.

02

빈 기본 그룹도 확인

처음에는 project.dependencies를 표시합니다. 비어 있어도 빌드 그룹으로 자동 이동하지 않습니다. 선택 의존성과 build-system.requires는 직접 선택해야 합니다.

03

새 결과가 준비됐는지 확인

자동 분석은 편집이 멈춘 뒤 350 ms 후 실행합니다. 끄면 버튼 또는 Ctrl/Cmd + Enter를 사용할 수 있으며 입력이나 옵션이 바뀌면 내보내기가 즉시 비활성화됩니다.

선언을 구조화해서 읽기

각 필드를 따로 검토

원래 이름과 정규화된 이름, extras, 버전 지정자, 마커, 직접 참조와 원문 위치를 확인합니다. 버전 표기는 검사하지만 특정 버전이 범위를 만족하는지는 계산하지 않습니다.

TOML 구문과 배열 검사

문서 전체를 TOML 1.0으로 읽고 지원하는 의존성 필드가 문자열 배열인지 검사합니다. 잘못된 선언은 해당 문자열 위치를 표시하며, 다른 tool 테이블의 스키마는 검증하지 않습니다.

현재 그룹 전체 내보내기

JSON에는 구조화된 필드와 그룹 이름이, TXT에는 한 줄씩 선언이 담깁니다. 화면에는 50개씩 표시하지만 복사와 다운로드에는 확인된 그룹 전체가 포함됩니다.

지원 구문과 처리 범위

설치 가능 여부는 별도
PyPI 조회, 설치, 전이 의존성 해결, 버전 충돌 수정, 취약점 또는 라이선스 분석은 수행하지 않습니다. 구문이 맞아도 대상 환경에서 함께 설치할 수 있다는 보장은 아닙니다.
pip 선언의 일부만 지원
한 줄에 이름이 있는 PEP 508 선언 하나를 입력하세요. 빈 줄과 pip 방식 주석은 제외합니다. -r, -c, -e, 인덱스 옵션, hash, 이름 없는 경로, 줄 연결과 환경변수 확장은 거부합니다.
마커는 실행하지 않음
표준 변수와 extra, 비교식, 괄호 및 and/or 구문을 확인합니다. 잠금 파일 전용 extras와 dependency_groups는 지원하지 않습니다. 직접 참조는 텍스트로만 보관하고 URL을 열지 않습니다.
표준 필드만 추출
project.dependencies, project.optional-dependencies, build-system.requires만 읽습니다. 동적 의존성은 오류이며 Poetry 테이블과 dependency-groups는 추출하지 않습니다. 선택 그룹 이름은 소문자, 숫자, 단일 하이픈만 허용합니다.
원문을 바꾸지 않는 정리
정규화된 이름과 원래 선언 순으로 정렬하며 같은 그룹에서 앞뒤 공백을 뺀 전체 선언이 같은 경우만 제거합니다. 주석은 원문에 남고 출력에서는 빠집니다. 재분석하면 정리 전 파생 결과로 돌아갑니다.
상한과 전체 실패 처리
UTF-8 입력 100 KiB, 의존성 1000개, 선언당 4096자, 마커 괄호 32단계까지입니다. 지원 필드 중 하나라도 잘못되면 문서 전체의 내보내기를 막고 일부 결과를 완성본처럼 제공하지 않습니다.

requirements.txt 질문과 답변

pip requirements 파일에 주석을 넣을 수 있나요?

가능합니다. #으로 시작하는 줄과 공백 뒤의 #부터는 주석입니다. 공백 없이 URL에 붙은 # 조각은 URL에 남습니다. 주석은 입력에 유지되지만 추출된 의존성 목록에는 포함되지 않습니다.

requirements.txt에서 Python 버전에 따라 의존성을 지정할 수 있나요?

가능합니다. 예를 들어 importlib-metadata; python_version < "3.10"처럼 작성합니다. 여기서는 마커 구문을 검사하고 보존하며, 실제 적용 여부는 대상 Python 환경의 설치 도구가 판단합니다.

pyproject.toml을 사용해도 requirements.txt가 필요한가요?

작업 방식에 따라 다릅니다. pyproject.toml에 프로젝트 의존성을 선언해도 requirements.txt를 설치 입력이나 환경 목록으로 사용할 수 있습니다. 이 도구는 선택한 표준 그룹을 추출하며 해결된 잠금 파일을 만들지는 않습니다.

requirements.txt에서 여러 버전을 허용할 수 있나요?

package>=1,<2 같은 범위나 환경 조건별 선언을 사용할 수 있습니다. 서로 다른 제약은 중복으로 삭제하지 않습니다. 같은 패키지의 여러 줄은 자동으로 선택 가능한 대안이 아니며 충돌할 수 있습니다.

패키지 버전 충돌은 어떻게 해결하나요?

대상 환경에서 패키지 관리 도구로 모순되는 제약을 확인해야 합니다. 여기서는 반복된 선언과 조건을 살펴볼 수 있지만 설치 가능한 버전 조합을 계산하지 않습니다. 완전히 같은 줄을 지워도 서로 다른 제약의 충돌은 해결되지 않습니다.

예상과 다른 버전 결과인가요?

선택한 그룹 검토하기

requirements.txt 분석 화면에서 대상 그룹의 조건과 정리 결과를 확인한 뒤 다음 작업에 사용하세요.