[python] easy_install / pip와 함께 설치된 모든 패키지를 찾으십니까?

easy_install 또는 pip로 설치된 모든 Python PyPI 패키지를 찾는 방법이 있습니까? 배포판 도구 (이 경우 abian-get on Debian)와 함께 설치 / 설치된 모든 것을 제외합니다.



답변

pip freeze설치된 패키지 및 해당 버전의 목록을 출력합니다. 또한 나중에 새 환경을 설정하는 데 사용할 수있는 파일에 해당 패키지를 작성할 수 있습니다.

https://pip.pypa.io/en/stable/reference/pip_freeze/#pip-freeze


답변

pip 1.3 버전부터 사용할 수 있습니다 pip list

오래된 패키지를 표시하는 기능을 포함하여 유용한 옵션이 있습니다. https://pip.pypa.io/en/latest/reference/pip_list/ 설명서는 다음과 같습니다.


답변

궁금한 사람이 있다면 ‘pip show’명령을 사용할 수 있습니다.

pip show [options] <package>

주어진 패키지의 설치 디렉토리가 표시됩니다.


답변

데비안이 pip install기본 대상 과 관련하여 최근 우분투 버전처럼 동작한다면 , ( 기본 대상) /usr/local/lib/대신 설치됩니다 . /ubuntu/173323/how-do-i-detect-and-remove-python-packages-installed-via-pip/259747#259747을 확인 하십시오./usr/libapt

나는 ArchLinux 사용자이고 pip를 실험 하면서이 같은 문제를 만났다. 아치에서 해결 한 방법은 다음과 같습니다.

find /usr/lib/python2.7/site-packages -maxdepth 2 -name __init__.py | xargs pacman -Qo | grep 'No package'

여기서 핵심은 /usr/lib/python2.7/site-packagespip가 YMMV에 설치하는 디렉토리입니다. pacman -Qo얼마나 아치의 PAC의 케이지 남자 파일의 소유권에 대한 어른 확인합니다. No package패키지가 파일을 소유하지 않은 경우 제공하는 리턴의 일부입니다 error: No package owns $FILENAME. 까다로운 해결 방법 : 디렉토리에 관해서는 조금 무지 __init__.py하기 때문에 쿼리하고 있습니다.pacman -Qo

다른 배포판을 위해 pip설치하려면 물건 설치 위치 ( sudo pip install무언가), 파일 소유권을 쿼리하는 방법 (Debian / Ubuntu 방법은 dpkg -S) 및 “패키지가 해당 경로를 소유하지 않습니다”가 무엇인지 반환해야합니다 (Debian / 우분투는 no path found matching pattern)입니다. 데비안 / 우분투 사용자는주의하십시오 : dpkg -S심볼릭 링크를 제공하면 실패합니다. 를 사용하여 먼저 해결하십시오 realpath. 이처럼 :

find /usr/local/lib/python2.7/dist-packages -maxdepth 2 -name __init__.py | xargs realpath | xargs dpkg -S 2>&1 | grep 'no path found'

Fedora 사용자는 @eddygeek 덕분에 시도해 볼 수 있습니다.

find /usr/lib/python2.7/site-packages -maxdepth 2 -name __init__.py | xargs rpm -qf | grep 'not owned by any package'


답변

로 시작 :

$ pip list

모든 패키지를 나열합니다. 원하는 패키지를 찾았 으면 다음을 사용하십시오.

$ pip show <package-name>

폴더를 포함하여이 패키지에 대한 세부 정보가 표시됩니다. 패키지 이름을 이미 알고 있다면 첫 번째 부분을 건너 뛸 수 있습니다

클릭 여기에 핍 쇼에 대한 자세한 내용과 여기에 핍 목록에 대한 자세한 내용은.

예:

$ pip show jupyter
Name: jupyter
Version: 1.0.0
Summary: Jupyter metapackage. Install all the Jupyter components in one go.
Home-page: http://jupyter.org
Author: Jupyter Development Team
Author-email: jupyter@googlegroups.org
License: BSD
Location: /usr/local/lib/python2.7/site-packages
Requires: ipywidgets, nbconvert, notebook, jupyter-console, qtconsole, ipykernel    


답변

pip.get_installed_distributions() 설치된 패키지 목록을 제공합니다

import pip
from os.path import join

for package in pip.get_installed_distributions():
    print(package.location) # you can exclude packages that's in /usr/XXX
    print(join(package.location, package._get_metadata("top_level.txt"))) # root directory of this package


답변

아래는 약간 느리지 만 잘 알려진 형식의 패키지 목록을 제공합니다 pip. 다시 말해서, 그들 모두가 “pip”에 의해 설치되는 것은 아니지만, 모든 pip에 의해 업그레이드 될 수 있어야합니다.

$ pip search . | egrep -B1 'INSTALLED|LATEST'

속도가 느린 이유는 전체 pypi 저장소의 내용을 나열하기 때문입니다. 비슷한 기능을 제공하지만보다 효율적으로 제안 하는 티켓을 제출했습니다 pip list.

샘플 출력 : (모두에 대해 ‘.’대신 서브 세트로 검색을 제한했습니다.)

$ pip search selenium | egrep -B1 'INSTALLED|LATEST'

selenium                  - Python bindings for Selenium
  INSTALLED: 2.24.0
  LATEST:    2.25.0
--
robotframework-selenium2library - Web testing library for Robot Framework
  INSTALLED: 1.0.1 (latest)
$