수색…


소개

pip는 Python Package Index에서 가장 널리 사용되는 패키지 관리자로 최신 Python 버전에서 기본적으로 설치됩니다.

통사론

  • pip <command> [options] 여기서 <command>는 다음 중 하나입니다.
    • 설치하다
      • 패키지 설치
    • 제거
      • 패키지 제거
    • 얼다
      • 요구 사항 형식으로 설치된 패키지 출력
    • 명부
      • 설치된 패키지 나열
    • 보여 주다
      • 설치된 패키지에 대한 정보 표시
    • 수색
      • PyPI에서 패키지 검색
    • 바퀴
      • 요구 사항에서 바퀴 만들기
    • 지퍼
      • 개별 패키지 압축 (더 이상 사용되지 않음)
    • 압축을 풀다
      • 개별 패키지 압축 해제 (더 이상 사용되지 않음)
    • 묶음
      • pybundles 만들기 (더 이상 사용되지 않음)
    • 도움
      • 명령에 대한 도움말 표시

비고

때로는 pip 가 원시 코드의 수동 컴파일을 수행합니다. Linux에서는 python이 시스템에서 사용 가능한 C 컴파일러를 자동으로 선택합니다. Windows에서 필요한 Visual Studio / Visual C ++ 버전은 아래 표를 참조하십시오 (최신 버전은 작동하지 않음).

파이썬 버전 Visual Studio 버전 Visual C ++ 버전
2.6 - 3.2 Visual Studio 2008 Visual C ++ 9.0
3.3 - 3.4 Visual Studio 2010 Visual C ++ 10.0
3.5 Visual Studio 2015 Visual C ++ 14.0

출처 : wiki.python.org

패키지 설치

SomePackage 라는 패키지의 최신 버전을 설치하려면 다음과 같이 SomePackage .

$ pip install SomePackage

특정 버전의 패키지를 설치하려면 다음을 수행하십시오.

$ pip install SomePackage==1.0.4

패키지에 설치할 최소 버전을 지정하려면 다음을 수행하십시오.

$ pip install SomePackage>=1.0.4

명령에 Linux / Unix에서 권한 거부 오류가 표시되면 sudo 를 명령에 사용하십시오


요구 사항 파일에서 설치

$ pip install -r requirements.txt

요구 사항 파일의 각 행은 설치할 항목을 나타내며 pip 설치에 대한 인수와 마찬가지로 파일 형식에 대한 세부 정보가 여기에 있습니다. 요구 사항 파일 형식 .

패키지를 설치 한 후 freeze 명령을 사용하여 패키지를 확인할 수 있습니다.

$ pip freeze

패키지 제거

패키지를 제거하려면 다음과 같이하십시오.

$ pip uninstall SomePackage

`pip`를 사용하여 설치된 모든 패키지를 나열하려면

설치된 패키지를 나열하려면 다음을 수행하십시오.

$ pip list
# example output
docutils (0.9.1)
Jinja2 (2.6)
Pygments (1.5)
Sphinx (1.1.2)

구식 패키지를 나열하고 사용 가능한 최신 버전 표시 :

$ pip list --outdated
# example output
docutils (Current: 0.9.1 Latest: 0.10)
Sphinx (Current: 1.1.2 Latest: 1.1.3)

패키지 업그레이드

달리는

$ pip install --upgrade SomePackage 

SomePackage 와 모든 의존성을 업그레이드 할 것입니다. 또한 pip는 업그레이드 전에 패키지의 이전 버전을 자동으로 제거합니다.

pip 자체를 업그레이드하려면 다음을 수행하십시오.

$ pip install --upgrade pip

유닉스 또는

$ python -m pip install --upgrade pip

Windows 컴퓨터에서.

Linux에서 모든 오래된 패키지 업데이트

pip 에는 사용자가 한 번에 모든 구식 패키지를 업데이트 할 수있는 플래그가 없습니다. 그러나이 작업은 Linux 환경에서 명령을 함께 파이프하여 수행 할 수 있습니다.

pip list --outdated --local | grep -v '^\-e' | cut -d = -f 1  | xargs -n1 pip install -U

이 명령은 로컬 virtualenv의 모든 패키지를 가져 와서 오래된 패키지인지 확인합니다. 이 목록에서 패키지 이름을 얻은 다음 pip install -U 명령으로 파이프합니다. 이 프로세스가 끝나면 모든 로컬 패키지를 업데이트해야합니다.

Windows에서 모든 오래된 패키지 업데이트

pip 에는 사용자가 한 번에 모든 구식 패키지를 업데이트 할 수있는 플래그가 없습니다. 그러나이 작업은 Windows 환경에서 명령을 함께 파이프하여 수행 할 수 있습니다.

for /F "delims= " %i in ('pip list --outdated --local') do pip install -U %i

이 명령은 로컬 virtualenv의 모든 패키지를 가져 와서 오래된 패키지인지 확인합니다. 이 목록에서 패키지 이름을 얻은 다음 pip install -U 명령으로 파이프합니다. 이 프로세스가 끝나면 모든 로컬 패키지를 업데이트해야합니다.

시스템에있는 모든 패키지의 requirements.txt 파일을 만듭니다.

pipfreeze 옵션을 제공하여 requirements.txt 파일을 만드는 데 도움을줍니다.

pip freeze > requirements.txt

이렇게하면 시스템에 설치된 모든 패키지 및 패키지의 목록이 현재 폴더의 requirements.txt 파일에 저장됩니다.

현재 virtualenv에서만 패키지의 requirements.txt 파일을 만듭니다.

pipfreeze 옵션을 제공하여 requirements.txt 파일을 만드는 데 도움을줍니다.

pip freeze --local > requirements.txt

--local 매개 변수는 virtualenv에 로컬로 설치된 패키지 및 버전 목록 만 출력합니다. 글로벌 패키지는 나열되지 않습니다.

pip와 함께 특정 Python 버전 사용

파이썬 3과 파이썬 2가 모두 설치되어 있다면 pip에 사용할 파이썬 버전을 지정할 수 있습니다. 이는 패키지가 Python 2 또는 3 만 지원하거나 둘 다 테스트하려는 경우에 유용합니다.

Python 2 용 패키지를 설치하려면 다음 중 하나를 실행하십시오.

pip install [package]

또는:

pip2 install [package]

Python 3 용 패키지를 설치하려면 다음을 수행하십시오.

pip3 install [package]

또한 특정 Python 설치 패키지의 설치를 다음과 같이 호출 할 수 있습니다.

\path\to\that\python.exe -m pip install some_package # on Windows OR
/usr/bin/python25 -m pip install some_package # on OS-X/Linux

OS-X / Linux / Unix 플랫폼에서 파이썬의 시스템 버전 (업그레이드로 인해 시스템이 작동하지 않게 함)과 파이썬의 사용자 버전을 구별하는 것이 중요합니다. 당신은 업그레이드하려고에 따라, 이러한 명령을 접두사해야 할 수 있습니다 sudo 입력 암호를 입력합니다.

마찬가지로 Windows에서 일부 Python 설치, 특히 다른 패키지에 포함 된 설치는 시스템 디렉토리 (관리 모드에서 실행중인 명령 창에서 업그레이드해야하는)에 설치 될 수 있습니다. 필요한 경우 이것은 당신이 같은 명령으로 업그레이드하려고하는 파이썬 설치를 확인하는 아주 좋은 생각이다 할 python -c"import sys;print(sys.path);" 또는 py -3.5 -c"import sys;print(sys.path);" pip --version 으로 실행하려고하는 pip를 확인할 수도 있습니다

Windows에서 Python 2와 Python 3을 모두 설치하고 경로에 Python 3이 3.4 이상이면 시스템 경로에 python 실행 프로그램 py 가있을 것입니다. 그런 다음 다음과 같은 트릭을 수행 할 수 있습니다.

py -3 -m pip install -U some_package # Install/Upgrade some_package to the latest python 3
py -3.3 -m pip install -U some_package # Install/Upgrade some_package to python 3.3 if present
py -2 -m pip install -U some_package # Install/Upgrade some_package to the latest python 2 - 64 bit if present
py -2.7-32 -m pip install -U some_package # Install/Upgrade some_package to python 2.7 - 32 bit if present

실행 및 파이썬의 여러 버전을 유지하는 경우 난 강력하게 파이썬에 대한 독서 추천 할 것입니다 virtualenv 또는 venv 가상 enviroments에 파이썬과 어떤 패키지가 존재의 버전을 모두 분리 할 수 있습니다.

바퀴로 핏에 아직 포장을 설치하십시오

많은 순수 Python 패키지가 아직 Python Package Index에서 휠로 사용할 수는 없지만 여전히 잘 설치됩니다. 그러나 Windows의 일부 패키지는 두려운 vcvarsall.bat 오류를 발견하지 못합니다.

문제는 설치하려고하는 패키지에 C 또는 C ++ 확장이 포함되어 있으며 현재 python 패키지 색인 pypi 에서 미리 빌드 된 휠로 사용할 수 없다는 것과 Windows에서 빌드하는 데 필요한 툴 체인이 없다는 것입니다 그러한 항목들.

가장 간단한 대답은로 이동하는 것입니다 크리스토프 Gohlke의 우수한 사이트와 당신이 필요로하는 라이브러리의 해당 버전을 찾습니다. 당신도 -win32- 포함해야 이름을 WIN64와 64 비트 파이썬을 사용하여이 -win_amd64을 포함해야하는 경우 윈도우 32 비트 파이썬을 사용하는 경우 즉, 파이썬의 버전을 일치하는 - 패키지에 해당하여 NN은 -cp 이름을 - 파이썬 버전이 일치해야합니다. 즉 파이썬 34의 경우 파일 이름에 -cp 34- 등이 있어야합니다 . 이것은 기본적으로 파이 피 사이트에서 여러분에게 도움이되는 마술입니다.

또는, 사용중인 파이썬 버전에 적합한 Windows 개발 킷, 인터페이스를 빌드하려는 패키지의 라이브러리 헤더, 파이썬 버전의 파이썬 헤더 등을 가져와야합니다.

Python 2.7은 Visual Studio 2008, Python 3.3 및 3.4는 Visual Studio 2010을 사용했으며 Python 3.5+는 Visual Studio 2015를 사용했습니다.

그런 다음 당신은 당신에게 패키지 링크를 원하는 적절한 위치에 사람들을 다운로드하는 라이브러리 일치하는 개정에서, 헤더 파일을 찾을 필요가있다.

마지막으로 pip에 빌드를 수행하게 할 수 있습니다. 물론 패키지에 아직 의존성이없는 경우에도 헤더 파일을 찾아야 할 수도 있습니다.

대안 : pypi 나 Christop의 사이트 에서 찾고있는 패키지의 약간 이전 버전은 순수한 파이썬이거나 여러분의 플랫폼과 파이썬 버전을 위해 사전 빌드되어 있고 가능하다면 그것들을 사용할 수도있다. 패키지를 사용할 수있게 될 때까지 발견되었습니다. 마찬가지로 최신 버전의 Python을 사용하는 경우 패키지 관리자에게 약간의 시간이 걸리므로 특정 패키지 가 필요한 프로젝트의 경우 약간 오래된 파이썬을 사용해야 할 수도 있습니다. 또한 패키지 원본 사이트에서 사전 빌드 된 또는 순수한 Python으로 사용할 수있는 포크 된 버전이 있는지 알아보고 필요한 기능을 제공하지만 사용 가능한 기능을 제공하는 대체 패키지를 검색 할 수 있습니다. 적극적으로 유지 관리되는 베개현재 6 년 내에 업데이트되지 않고 PISTON 3에서는 사용할 수없는 PIL 대신 교체 됩니다 .

마지막 으로이 문제를 겪고있는 사람이라면 누구든지 패키지의 버그 추적기로 이동하여 패키지가없는 경우 추가하거나 제기하십시오. 패키지 관리자가 패키지 관리자가 귀하의 특정 목적을 위해 휠을 제공하도록 정중하게 요청하는 티켓 플랫폼과 파이썬의 결합, 이렇게되면 일반적으로 시간이 갈수록 좋아질 것입니다. 일부 패키지 관리자는 사람들이 사용할 수있는 조합을 놓쳤다는 사실을 깨닫지 못합니다.

Pre-Release 설치시주의 사항

Pip은 Semantic Versioning 의 규칙을 따르며 기본적으로 출시 전 패키지를 선호합니다. 따라서 주어진 꾸러미가 V0.98 으로 릴리즈되고 릴리스 후보 V1.0-rc1 있는 경우 pip install 의 기본 동작은 V0.98 을 설치하는 V0.98 - 릴리스 후보를 설치하려면 다음을 권장합니다. 먼저 가상 환경에서 테스트 --pip install --pre package-name 또는 --pip install --pre --upgrade package-name을 사용하여 활성화 할 수 있습니다. 대부분의 경우 사전 릴리스 또는 릴리스 후보는 모든 플랫폼 및 버전 조합을 위해 제작 된 바퀴가 없어서 위의 문제가 발생할 가능성이 더 큽니다.

개발 버전 설치시주의 사항

또한 pip를 사용하여 github 및 다른 위치에서 패키지의 개발 버전을 설치할 수 있습니다. 코드가 유동적이어서 바퀴가 내장되어 있지 않기 때문에 불완전한 패키지에는 빌드 도구가 있어야하며 언제든지 깨뜨릴 수 있으므로 가상 환경에 패키지 만 설치 하는 것이 좋습니다.

이러한 설치에는 세 가지 옵션이 있습니다.

  1. 압축 된 스냅 샷을 다운로드하면 대부분의 온라인 버전 제어 시스템에 압축 된 코드 스냅 샷을 다운로드 할 수있는 옵션이 제공됩니다. 이 파일은 수동으로 다운로드 한 다음 pip install path / to / downloaded / file에 pip install 하면 대부분의 압축 형식에서 pip가 캐시 영역에 압축을 풀어주는 등의 작업을 수행합니다.
  2. pip에서 다운로드 및 설치를 처리하도록하십시오 : pip install URL / of package / repository -이 작업을 수행하려면 --trusted-host , --client-cert 및 / 또는 --proxy 플래그를 --proxy 할 수도 있습니다 정확하게, 특히 기업 환경에서. 예 :
    > py -3.5-32 -m venv demo-pip
    > demo-pip\Scripts\activate.bat
    > python -m pip install -U pip
    Collecting pip
      Using cached pip-9.0.1-py2.py3-none-any.whl
    Installing collected packages: pip
      Found existing installation: pip 8.1.1
        Uninstalling pip-8.1.1:
          Successfully uninstalled pip-8.1.1
    Successfully installed pip-9.0.1
    > pip install git+https://github.com/sphinx-doc/sphinx/
    Collecting git+https://github.com/sphinx-doc/sphinx/
      Cloning https://github.com/sphinx-doc/sphinx/ to c:\users\steve-~1\appdata\local\temp\pip-04yn9hpp-build
    Collecting six>=1.5 (from Sphinx==1.7.dev20170506)
      Using cached six-1.10.0-py2.py3-none-any.whl
    Collecting Jinja2>=2.3 (from Sphinx==1.7.dev20170506)
      Using cached Jinja2-2.9.6-py2.py3-none-any.whl
    Collecting Pygments>=2.0 (from Sphinx==1.7.dev20170506)
      Using cached Pygments-2.2.0-py2.py3-none-any.whl
    Collecting docutils>=0.11 (from Sphinx==1.7.dev20170506)
      Using cached docutils-0.13.1-py3-none-any.whl
    Collecting snowballstemmer>=1.1 (from Sphinx==1.7.dev20170506)
      Using cached snowballstemmer-1.2.1-py2.py3-none-any.whl
    Collecting babel!=2.0,>=1.3 (from Sphinx==1.7.dev20170506)
      Using cached Babel-2.4.0-py2.py3-none-any.whl
    Collecting alabaster<0.8,>=0.7 (from Sphinx==1.7.dev20170506)
      Using cached alabaster-0.7.10-py2.py3-none-any.whl
    Collecting imagesize (from Sphinx==1.7.dev20170506)
      Using cached imagesize-0.7.1-py2.py3-none-any.whl
    Collecting requests>=2.0.0 (from Sphinx==1.7.dev20170506)
      Using cached requests-2.13.0-py2.py3-none-any.whl
    Collecting typing (from Sphinx==1.7.dev20170506)
      Using cached typing-3.6.1.tar.gz
    Requirement already satisfied: setuptools in f:\toolbuild\temp\demo-pip\lib\site-packages (from Sphinx==1.7.dev20170506)
    Collecting sphinxcontrib-websupport (from Sphinx==1.7.dev20170506)
      Downloading sphinxcontrib_websupport-1.0.0-py2.py3-none-any.whl
    Collecting colorama>=0.3.5 (from Sphinx==1.7.dev20170506)
      Using cached colorama-0.3.9-py2.py3-none-any.whl
    Collecting MarkupSafe>=0.23 (from Jinja2>=2.3->Sphinx==1.7.dev20170506)
      Using cached MarkupSafe-1.0.tar.gz
    Collecting pytz>=0a (from babel!=2.0,>=1.3->Sphinx==1.7.dev20170506)
      Using cached pytz-2017.2-py2.py3-none-any.whl
    Collecting sqlalchemy>=0.9 (from sphinxcontrib-websupport->Sphinx==1.7.dev20170506)
      Downloading SQLAlchemy-1.1.9.tar.gz (5.2MB)
        100% |################################| 5.2MB 220kB/s
    Collecting whoosh>=2.0 (from sphinxcontrib-websupport->Sphinx==1.7.dev20170506)
      Downloading Whoosh-2.7.4-py2.py3-none-any.whl (468kB)
        100% |################################| 471kB 1.1MB/s
    Installing collected packages: six, MarkupSafe, Jinja2, Pygments, docutils, snowballstemmer, pytz, babel, alabaster, imagesize, requests, typing, sqlalchemy, whoosh, sphinxcontrib-websupport, colorama, Sphinx
      Running setup.py install for MarkupSafe ... done
      Running setup.py install for typing ... done
      Running setup.py install for sqlalchemy ... done
      Running setup.py install for Sphinx ... done
    Successfully installed Jinja2-2.9.6 MarkupSafe-1.0 Pygments-2.2.0 Sphinx-1.7.dev20170506 alabaster-0.7.10 babel-2.4.0 colorama-0.3.9 docutils-0.13.1 imagesize-0.7.1 pytz-2017.2 requests-2.13.0 six-1.10.0 snowballstemmer-1.2.1 sphinxcontrib-websupport-1.0.0 sqlalchemy-1.1.9 typing-3.6.1 whoosh-2.7.4

URL의 git+ 접두어에 유의하십시오.

  1. 사용하여 저장소를 복제 git , mercurial 또는 기타 허용 도구, 바람직하게는 DVCS 도구를 사용할 pip install 경로에 /이 / / 복제 REPO를 -,이 것 모두 공정 어떤 requires.text 파일과 빌드 및 설치 단계를 수행하면 변경 사항을 수동으로 할 수 디렉토리를 복제 된 저장소에 pip install -r requires.txt 하고 pip install -r requires.txt 실행 한 다음 python setup.py install 을 실행하여 동일한 효과를 얻으십시오. 이 방법의 큰 장점은 초기 복제 작업이 스냅 샷 다운로드보다 오래 걸릴 수 있지만 git : git pull origin master 의 경우 최신 버전으로 업데이트 할 수 있으며 현재 버전에 오류가있는 경우 pip uninstall package-name 그런 다음 git checkout 명령을 사용하여 저장소 내역을 이전 버전으로 되돌리고 다시 시도하십시오.


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow