pip freeze 명령어 출력의 "pkg-param==0.0.0"은 무엇입니까?
내가 달릴 때pip freeze
알겠습니다(기타 예상 패키지 중)pkg-resources==0.0.0
이 패키지(이 패키지 포함)에 대해 언급한 게시물을 몇 개 봤지만, 이 패키지가 무엇인지, 또는 왜 이 패키지가 출력에 포함되었는지에 대한 설명은 없습니다.pip freeze
제가 궁금한 주된 이유는 궁금해서입니다만, 또한 패키지와 함께 패키지를 설치하려고 할 때 깨지는 경우도 있는 것 같습니다.requirements.txt
에서 생성된 파일pip freeze
를 포함합니다.pkg-resources==0.0.0
line(예를 들어 Travis CI가 다음을 통해 종속성을 설치하려고 할 때)pip
이 행을 찾습니다).
뭐가pkg-resources
이 행을 에서 삭제해도 될까요?requirements.txt
?
업데이트:
이 행은 의 출력에만 존재하는 것 같습니다.pip freeze
내가 있을 때virtualenv
그것이 무엇이고 무엇을 하는지는 아직 확실치 않지만, 나는 그것이 아마도 관련이 있다는 것을 알고 더 조사할 것이다.virtualenv
.
https://github.com/pypa/pip/issues/4022,에 따르면 이는 Ubuntu가 잘못된 메타데이터를 pip에 제공하기 때문에 발생한 버그입니다.그래서, 이런 행동에 대한 타당한 이유는 없는 것 같습니다.Ubuntu에 추적 버그를 신청했습니다.https://bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1635463
이전 답변을 백업하려면 해당 행을 요구 사항에서 삭제하는 것이 안전합니다.다음은 패키지 목록을 안전하게 고정하는 파일 스탠자 만들기 예제입니다(Make file을 드롭하여 실행).make freeze
):
freeze:
pip freeze | grep -v "pkg-resources" > requirements.txt
2022년 7월 6일 편집:
패키지명은 사용중인 시스템에 따라 다르다고 들었습니다.pkg-resources
대pkg_resources
Debian/Ubuntu 버전에 따라 사용방법에 차이가 있는 경우 이 답변에 첨부된 코멘트를 참조하십시오.~하듯이pkg-resources
는, 문제가 되고 있는 시스템에 대해서, 이 패키지가 투고된 시점(약 6년 전)의 과거로부터 올바른 패키지명입니다.이 답변에서는 변경되지 않습니다.
질문의 일부에 대해서입니다만, 「이 행을 삭제해도 괜찮습니까?":
ubuntu 16.04에서도 같은 문제가 발생하고 있습니다.요건은 바로 그 라인입니다.debian 8.5를 실행하고 있는 데비안 8.5에 전개하는 경우"pip install -r requirements.txt"
pkg-package가 "not found"라고 하는데 글로벌 패키지가 "pkg-pkg-package"로 설치되어 있기 때문에 의존관계가 충족되어야 합니다.ubuntu에서도 동일:패키지도 거기에 있습니다.
여기에 기재되어 있는 것처럼, 「암묵적으로 인스톨 되고 있는 패키지」라고 생각됩니다.
따라서: python-pkg-resources가 설치된 Debian/Ubuntu에 있는 경우 해당 라인을 삭제해도 안전합니다.그렇게 했고 모든 게 잘 되고 있어요.그러나 저는 이 문제에 대해 잘 모르기 때문에 다른 기계에 전개할 때 문제가 발생할 수 있다는 점에 유의하시기 바랍니다.
다음 링크에서 답을 찾았습니다.https://bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1635463
작성자: 루이 부샤르(루이)는 2019-11-16에 다음과 같이 썼다.
그것은 나에게 효과가 있었다.하지만 저는 전문가가 아니기 때문에 누군가가 더 잘 표현해 준다면 설명해주면 좋을 것 같습니다.
안녕하세요.
이 문제는 virtualenv의 debunded 버전이 생성 시 virtualenv에 추가되는 pkg_resource를 사용하는 virtualenv의 debunded 버전에서 발생합니다.
$ virtualenv .
Running virtualenv with interpreter /usr/bin/python2
New python executable in /home/caribou/git/quividi/test/bin/python2
Also creating executable in /home/caribou/git/quividi/test/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
$ pip freeze
pkg-resources==0.0.0
pip installed 버전의 virtualenv를 사용하면 회피할 수 있습니다.
$ sudo apt -y purge python3-virtualenv virtualenv tox
$ pip install virtualenv
$ virtualenv .
pip install virtualenv
Collecting virtualenv
Downloading https://files.pythonhosted.org/packages/c5/97/00dd42a0fc41e9016b23f07ec7f657f636cb672fad9cf72b80f8f65c6a46/virtualenv-16.7.7-py2.py3-none-any.whl (3.4MB)
100% |████████████████████████████████| 3.4MB 351kB/s
Installing collected packages: virtualenv
Successfully installed virtualenv-16.7.7
$ virtualenv .
New python executable in /home/caribou/git/quividi/test/bin/python
Installing setuptools, pip, wheel...
done.
$ source bin/activate
$ pip freeze
$
언급URL : https://stackoverflow.com/questions/39577984/what-is-pkg-resources-0-0-0-in-output-of-pip-freeze-command
'source' 카테고리의 다른 글
스프링 부트 - 데이터베이스에 엔티티를 하나만 생성할 수 없습니다. (0) | 2022.12.08 |
---|---|
하나의 명령을 사용하여 여러 DB에 부여 (0) | 2022.12.08 |
두 숫자를 더하면 합계가 계산되지 않고 두 숫자를 연결할 수 있습니다. (0) | 2022.12.08 |
SQL Select 문의 동적 열, "정의되지 않은" 값 유지 (0) | 2022.12.08 |
REST 웹 서비스에서 클라이언트로 파일을 보내는 올바른 방법은 무엇입니까? (0) | 2022.12.08 |