pip을 제거할 수 없음: "distutils 설치된 프로젝트 입니다."
Twilio 모듈을 설치하려고 했습니다.
sudo -H pip install twilio
그리고 다음 오류가 발생했습니다.
Installing collected packages: pyOpenSSL
Found existing installation: pyOpenSSL 0.13.1
Cannot uninstall 'pyOpenSSL'. It is a distutils installed project and
thus we cannot accurately determine which files belong to it which
would lead to only a partial uninstall.
pyOpenSSL을 제거하는 방법을 아는 사람?
이 오류는 패키지의 메타데이터에 속한 파일 목록이 포함되어 있지 않음을 의미합니다.대부분의 경우 OS의 패키지 관리자를 통해 이 패키지를 설치했으므로 업데이트하거나 제거하기보다는 패키지를 사용해야 합니다.
예를 참조하십시오.pip 10으로 업그레이드: distutils가 설치된 프로젝트이므로 어떤 파일이 속해 있는지 정확하게 확인할 수 없으며 일부만 제거됩니다. 문제 #5247 · pypa/pip 패키지가 설치된 예apt
.
또는 필요에 따라 시스템 Python 및/또는 글로벌 환경을 사용하지 않고 개인 Python 설치 및/또는 환경을 생성하는 것이 더 생산적일 수 있습니다.여기에는 다음과 같은 많은 옵션이 있습니다.virtualenv
,venv
,pyenv
,pipenv
소스에서 소스로 Python 설치/usr/local
또는$HOME
/$HOME/.local
(또는)/opt/<whatever>
).
마지막으로 자주 제안되는 사항에 대해 언급해야 합니다(예: pip 10 및 apt: distutils 패키지에 대한 "X를 제거할 수 없습니다" 오류를 방지하는 방법).--ignore-installed
pip
스위치를 켜다
이는 비즈니스 요구사항을 충족하기에 충분한 시간 동안 작동할 수도 있지만 예측할 수 없는 방식으로 시스템의 문제를 해결할 수도 있습니다.한 가지 확실한 것은 시스템 구성이 지원되지 않으므로 유지 관리가 불가능하다는 것입니다. 배포에서 다른 임의의 항목으로 파일을 덮어썼기 때문입니다.예:
- 새 파일이 이전 파일과 이진 호환되지 않는 경우 원본에 대해 링크하도록 구축된 배포판의 다른 소프트웨어가 오류를 범하거나 오작동합니다.
- 새 버전에 다른 파일 집합이 있는 경우 이전 파일과 새 파일이 혼합되어 종속 소프트웨어는 물론 패키지 자체가 손상될 수 있습니다.
- 나중에 OS의 패키지 관리자로 패키지를 변경하면 덮어씁니다.
pip
-설치된 파일도 마찬가지로 예측할 수 없는 결과를 가져옵니다. - 구성 파일과 같은 것이 있는 경우 버전 간의 차이로 인해 모든 종류의 손상이 발생할 수 있습니다.
동일한 오류가 발생하여 다음 단계를 사용하여 해결할 수 있었습니다.
pip install --ignore-installed pyOpenSSL
이렇게 하면 최신 버전의 패키지가 설치되고 설치하려고 하면
pip install twilio
그건 작동할 것이다.
일반적으로 유사한 오류의 경우 다음 형식을 사용합니다.
pip install --ignore-installed [package name]==[package version]
이 오류를 해결할 수 있는 유일한 방법은 문제가 되는 디렉토리를 수동으로 삭제하는 것입니다.site-packages
.
이 작업을 수행한 후 패키지를 다시 설치해야 할 수도 있습니다.--force-reinstall
.
위의 코멘트를 읽어보니, 패키지 a는 콘다와 함께 설치되었고, pip를 이용하여 설치하려던 새로운 패키지 b는 문제가 발생하고 있는 것으로 알고 있습니다.저는 b 패키지에 conda 지원이 있어서 운이 좋아서 conda를 사용하여 b 패키지를 설치하면 문제가 해결되었습니다.
제 경우 다음 명령을 사용하여 내부 git에서 패키지를 설치했습니다.
python -m pip install package.whl --force
이전 버전을 명시적으로 제거하고 최신 버전으로 교체하고 싶지 않았기 때문에 이 작업을 수행했습니다.하지만 모든 종속성을 다시 설치하는 것도 가능합니다.저는 그 패키지 중 하나에 오류가 있었습니다.를 제거하기--force
문제를 해결했습니다.
덧붙이고 싶은 것은,--ignore-installed
저를 위해서도 일했습니다. 거중을 합니다.--force
제 경우에도 근본적으로 같은 일을 하고 있습니다.
언급URL : https://stackoverflow.com/questions/53807511/pip-cannot-uninstall-package-it-is-a-distutils-installed-project
'programing' 카테고리의 다른 글
파일 입력을 지우는 방법 (0) | 2023.08.14 |
---|---|
SLURM 작업을 원격으로 연결된 클러스터로 전송하는 데 문제가 있음 (0) | 2023.07.25 |
공용 생성자가 없는데 어떻게 Oracle Exception을 모의/가짜/스티븐할 수 있습니까? (0) | 2023.07.25 |
JQuery.load() 콜백 함수 (0) | 2023.07.25 |
확인란과 같은 이미지 사용 (0) | 2023.07.25 |