easy_install/pip과 함께 설치된 모든 패키지를 찾으시겠습니까?
easy_install 또는 pip과 함께 설치된 모든 Python PyPI 패키지를 찾을 수 있는 방법이 있습니까?즉, 배포 툴에 인스톨 되어 있던 것은 모두 제외합니다(이 경우는 Debian에 접속해 주세요).
pip freeze
는, 되어 있는 그 합니다.또한 나중에 새 환경을 설정하는 데 사용할 수 있는 파일에 이러한 패키지를 쓸 수도 있습니다.
https://pip.pypa.io/en/stable/reference/pip_freeze/ #filename-filename
1의 pip에서는, 「1.3」의 pip를 사용할 수 .pip list
오래된 패키지를 표시하는 기능 등 몇 가지 유용한 옵션이 있습니다.여기 매뉴얼이 있습니다.https://pip.pypa.io/en/latest/reference/pip_list/
궁금하신 분은 'pip show' 명령어를 사용하시면 됩니다.
pip show [options] <package>
지정한 패키지의 인스톨 디렉토리가 표시됩니다.
시작:
$ pip list
모든 패키지를 나열합니다.원하는 패키지를 찾으면 다음을 사용합니다.
$ pip show <package-name>
폴더를 포함하여 패키지에 대한 세부 정보가 표시됩니다.패키지 이름을 이미 알고 있는 경우 첫 번째 부분을 건너뛸 수 있습니다.
pip show에 대한 자세한 내용은 여기를, pip 목록에 대한 자세한 내용은 여기를 클릭하십시오.
예제:
$ 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
이 Debian Ubuntu에 관한 최신 처럼 하는 경우pip install
것은 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★」.설치되는 것은/usr/local/lib/
/usr/lib
)apt
디폴트 타겟).https://askubuntu.com/questions/173323/how-do-i-detect-and-remove-python-packages-installed-via-pip/259747#259747 를 확인해 주세요.
저는 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-packages
YMMV입니다.「 YMMV 」 「 」 「 」 「 」 「 」 「 pip 」입니다pacman -Qo
Arch의 pac kage manager가 파일의 소유권을 확인하는 방법입니다. No package
입니다.error: No package owns $FILENAME
about로 i에ying i에yingyingying。__init__.py
pacman -Qo
: (어느 쪽인가 하면)
디스트리뷰터에게 는 '어디서 하는지', '어디서 하는지', '어디서 하는지'를 합니다.pip
stople ( 「」만)sudo pip install
방법(는 Debian/Ubuntu입니다).dpkg -S
path return는 "no package owers that path" 반환(Debian/Ubuntu))은no path found matching pattern
) Debian/Ubuntu 사용자 주의: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 사용자는 다음을 시도할 수 있습니다(고맙습니다 @eddygek).
find /usr/lib/python2.7/site-packages -maxdepth 2 -name __init__.py | xargs rpm -qf | grep 'not owned by any package'
에서는 "pip"을 통해 것을 할 수 .pip list -l
★★★★★★★★★★★★★★★★★」pip freeze -l
)--list
를 참조해 주세요.
하게 하고 않고,는 그 debian man page와 함께 을 발견했을 이다.그리고 저는 그 기능이 반드시 존재해야 한다는 가정 하에 그것을 발견했을 뿐입니다.pip list --help
.
이 기능은 문서에서도 기존의 답변에서도 명확하지 않다고 하는 코멘트가 최근 있기 때문에(일부에서는 암시하고 있지만) 투고해야겠다고 생각했습니다.코멘트로 하고 싶었지만, 저는 평판 포인트가 없습니다.
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 search . | egrep -B1 'INSTALLED|LATEST'
속도가 느린 이유는 전체 pypi repo의 내용을 나열하기 때문입니다.내가 제안할 표를 제출했어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)
$
@Paul Woolcock의 대답에 덧붙여,
pip freeze > requirements.txt
그럼 현재 위치에 활성 환경에 설치된 버전 번호와 함께 설치된 모든 패키지가 포함된 요건 파일이 생성됩니다.입니다.
pip install -r requirements.txt
는 요건 파일에 지정된 패키지를 설치합니다.
컴퓨터에 여러 버전의 Python이 설치되어 있는 경우 각각에 몇 가지 버전의 pip이 연결되어 있을 수 있습니다.
어소시에이션에 따라서는, 사용하는 pip 커맨드에 매우 주의할 필요가 있습니다.
pip3 list
Python 3.4 python python python python python python python 。 「」를 사용하는 만으로,pip list
되었습니다.The program 'pip' is currently not installed. You can install it by typing: sudo apt-get install python-pip
@almenon이 지적한 바와 같이 이 방법은 더 이상 작동하지 않으며 패키지 정보를 코드로 가져오는 지원 방법도 아닙니다.다음은 예외를 발생시킵니다.
import pip
installed_packages = dict([(package.project_name, package.version)
for package in pip.get_installed_distributions()])
'가져오다'를 가져오면 .pkg_resources
하다
import pkg_resources
installed_packages = dict([(package.project_name, package.version)
for package in pkg_resources.working_set])
는 ★★★★★★★★★★★★★★★★★★★★에 있다.v3.6.5
pip freeze는 pip/easy_install이 아니더라도 설치된 모든 패키지를 나열합니다.CentOs/Redhat에서 rpm을 통해 설치된 패키지가 발견되었습니다.
다음은 중절모 또는 기타 rpm 디스트로용 원라이너입니다(@baraponto 팁 기준).
find /usr/lib/python2.7/site-packages -maxdepth 2 -name __init__.py | xargs rpm -qf | grep 'not owned by any package'
이 명령어를 이전 명령어에 추가하여 출력을 개선합니다.
| sed -r 's:.*/(\w+)/__.*:\1:'
모든 파일/폴더 이름 가져오기site-packages/
(그리고dist-packages/
패키지 매니저를 사용하여 패키지를 통해 설치된 패키지를 제거합니다.
Anaconda python 배포를 사용하는 경우conda list
명령어를 사용하여 어떤 방법으로 무엇이 설치되었는지 확인합니다.
user@pc:~ $ conda list
# packages in environment at /anaconda3:
#
# Name Version Build Channel
_ipyw_jlab_nb_ext_conf 0.1.0 py36h2fc01ae_0
alabaster 0.7.10 py36h174008c_0
amqp 2.2.2 <pip>
anaconda 5.1.0 py36_2
anaconda-client 1.6.9 py36_0
에서 되고 있는 .pip
이 있다)pip
자체 예:
user@pc:~ $ conda list | grep \<pip
amqp 2.2.2 <pip>
astroid 1.6.2 <pip>
billiard 3.5.0.3 <pip>
blinker 1.4 <pip>
ez-setup 0.9 <pip>
feedgenerator 1.9 <pip>
첫 열)을.pip
요한한 : : : 。
user@pc:~ $ conda list | awk '$3 ~ /pip/ {if ($1 != "pip") print $1}'
amqp
astroid
billiard
blinker
ez-setup
feedgenerator
마지막으로 다음 명령을 사용하여 이들 값을 모두 pip uninstall 할 수 있습니다.
user@pc:~ $ conda list | awk '$3 ~ /pip/ {if ($1 != "pip") print $1}' | xargs pip uninstall -y
「 」의 .-y
를 pip uninstall
삭제 확인을 할 필요가 없습니다.
pip을 설치하지 않은 사용자를 위해 github에서 다음과 같은 빠른 스크립트를 찾았습니다(Python 2.7.13과 연동).
import pkg_resources
distros = pkg_resources.AvailableDistributions()
for key in distros:
print distros[key]
pip list [ options ]여기서 자세한 레퍼런스를 참조해 주세요.
적어도 Ubuntu(아마도 다른 회사)의 경우, (이 스레드의 이전 투고에서 영감을 얻은) 다음과 같이 동작합니다.
printf "Installed with pip:";
pip list 2>/dev/null | gawk '{print $1;}' | while read; do pip show "${REPLY}" 2>/dev/null | grep 'Location: /usr/local/lib/python2.7/dist-packages' >/dev/null; if (( $? == 0 )); then printf " ${REPLY}"; fi; done; echo
언급URL : https://stackoverflow.com/questions/6600878/find-all-packages-installed-with-easy-install-pip
'source' 카테고리의 다른 글
Python에서 따옴표로 묶인 하위 문자열을 보존하는 공백으로 문자열 분할 (0) | 2022.09.28 |
---|---|
PHP의 키에 값 복사 (0) | 2022.09.28 |
지정된 열의 첫 번째 행 값을 가져옵니다. (0) | 2022.09.28 |
문자열에서 인쇄할 수 없는 문자를 모두 제거하려면 어떻게 해야 합니까? (0) | 2022.09.28 |
SQL Chemy 식에서 원시 컴파일 SQL 쿼리를 가져오려면 어떻게 해야 합니까? (0) | 2022.09.28 |