출력을 비교하면 차이점이 드러납니다.
user@user-VirtualBox:~$ pip list
feedparser (5.1.3)
pip (1.4.1)
setuptools (1.1.5)
wsgiref (0.1.2)
user@user-VirtualBox:~$ pip freeze
feedparser==5.1.3
wsgiref==0.1.2
Pip의 문서 상태
freeze Output installed packages in requirements format.
list List installed packages.
그러나 “요구 사항 형식”은 무엇이며 왜 pip list
보다 포괄적 인 목록을 생성 pip freeze
합니까?
답변
를 사용하는 virtualenv
경우 requirements.txt
모든 종속성을 설치할 파일을 지정할 수 있습니다 .
일반적인 사용법 :
$ pip install -r requirements.txt
패키지는 pip
이해 하기 위해 특정 형식이어야합니다.
feedparser==5.1.3
wsgiref==0.1.2
django==1.4.2
...
이것이 “요구 사항 형식”입니다.
여기서는 django==1.4.2
설치 django
버전을 의미 1.4.2
합니다 (최신 버전은 1.6.x 임에도 불구하고). 을 지정하지 않으면 사용 ==1.4.2
가능한 최신 버전이 설치됩니다.
” Virtualenv 및 pip Basics “및 공식 ” Requirements File Format “문서 에서 자세한 내용을 읽을 수 있습니다 .
답변
이 질문의 두 번째 부분에 대답하기 위해, 두에 표시된 패키지 pip list
는 아니지만이 pip freeze
있다 setuptools
(easy_install을하다)와 pip
자체.
pip freeze
pip 자체가 의존하는 패키지를 나열하지 않은 것 같습니다 . --all
플래그를 사용하여 해당 패키지도 표시 할 수 있습니다 .
에서 문서 :
--all
출력에서 다음 패키지를 건너 뛰지 마십시오 : pip, setuptools, distribution, wheel
답변
주요 차이점은의 출력을 pip freeze
requirements.txt 파일로 덤프하고 나중에 “고정 된”환경을 재구성하는 데 사용할 수 있다는 것입니다.
다른 말로하면 다음을 실행할 수 있습니다.
pip freeze > frozen-requirements.txt
한 시스템에서 나중에 다른 시스템이나 깨끗한 환경에서 수행 할 수
pip install -r frozen-requirements.txt
있습니다. frozen-requirements.txt를 생성했습니다.
답변
두 가지 기능을 다음과 같이 설명 하는 pip 문서 를 참조하십시오.
핍 목록
편집 가능한 항목을 포함하여 설치된 패키지를 나열합니다.
핍 동결
설치된 패키지를 요구 사항 형식으로 출력합니다.
따라서 두 가지 차이점이 있습니다.
-
출력 형식
freeze
은 나중에pip install -r
요구 사항을 설치 하는 데 사용할 수있는 표준 요구 사항 형식을 제공합니다 . -
출력 내용, 그렇지 않은
pip list
편집 가능 항목을 포함pip freeze
합니다.
답변
pip list
모든 패키지를 표시 합니다.
pip freeze
쇼 패키지는 당신이 를 통해 설치 pip
(또는 pipenv
그 도구를 사용하는 경우) 요구 사항 형식으로 명령을.
내 가상 엔벨로프를 생성 할 때 setuptools , pip , wheel 이 설치 된다는 점에 유의하십시오 pipenv shell
. 이 패키지는 다음을 사용하여 설치 되지 않았습니다 pip
.
test1 % pipenv shell
Creating a virtualenv for this project…
Pipfile: /Users/terrence/Development/Python/Projects/test1/Pipfile
Using /usr/local/Cellar/pipenv/2018.11.26_3/libexec/bin/python3.8 (3.8.1) to create virtualenv…
⠹ Creating virtual environment...
<SNIP>
Installing setuptools, pip, wheel...
done.
✔ Successfully created virtual environment!
<SNIP>
이제 cool-lib 및 sampleproject ( 페퍼콘 이 종속성 임) 만 설치 한 각 명령의 출력을 검토하고 비교합니다 .
test1 % pip freeze <== Packages I'VE installed w/ pip
-e git+https://github.com/gdamjan/hello-world-python-package.git@10<snip>71#egg=cool_lib
peppercorn==0.6
sampleproject==1.3.1
test1 % pip list <== All packages, incl. ones I've NOT installed w/ pip
Package Version Location
------------- ------- --------------------------------------------------------------------------
cool-lib 0.1 /Users/terrence/.local/share/virtualenvs/test1-y2Zgz1D2/src/cool-lib <== Installed w/ `pip` command
peppercorn 0.6 <== Dependency of "sampleproject"
pip 20.0.2
sampleproject 1.3.1 <== Installed w/ `pip` command
setuptools 45.1.0
wheel 0.34.2