source

pip install --user와 함께 설치된 패키지를 제거하는 방법

factcode 2022. 10. 13. 23:35
반응형

pip install --user와 함께 설치된 패키지를 제거하는 방법

게 요.--user"Python" "Pip" :

pip install --user [python-package-name]

이 옵션을 사용하여 루트 액세스 권한이 없는 서버에 패키지를 설치했습니다.지금 필요한 것은 현재 사용자에게 설치된 패키지를 제거하는 것입니다.다음 명령을 실행하려고 했습니다.

pip uninstall --user [python-package-name]

하지만 나는 다음과 같은 것을 얻었다.

no such option: --user

「」가 되어 를 언인스톨 하려면 , 어떻게 요.pip install --user패키지를 수동으로 검색 및 삭제하는 것 이외에는?

나는 이 기사를 발견했다.

사용자별 사이트별 디렉토리에서 pip을 제거할 수 없습니다.

에서는, 유저 디렉토리에서 패키지를 언인스톨 할 수 없는 것을 설명하고 있습니다.기사에 따르면 올바르게 구현되었으면 다음과 같이 합니다.

pip uninstall [package-name]

설치된 패키지도 사용자 디렉토리에서 검색됩니다.하지만 내게는 아직 문제가 남아 있다.시스템 전체 및 사용자 단위 모두에서 동일한 패키지가 설치되면 어떻게 됩니까?특정 사용자 디렉토리를 대상으로 해야 할 경우 어떻게 해야 합니까?

Linux에서 Python 3.5 및 pip 7.1.2를 사용하여 테스트한 결과 다음과 같은 상황이 발생하였습니다.

  • pip install --user somepackage 합니다.$HOME/.local은 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,pip uninstall somepackage.

  • 은 or not not thissomepackage이치노

  • 패키지가 양쪽 모두에 인스톨 되어 있는 경우는, 로컬 패키지만 언인스톨 됩니다.를 사용하여 시스템 , 「」를 합니다.pip로컬에서 한 후 다시 root특권

  • 디렉토리 에 " " " 입니다.pip install --target somedir somepackage 패키지가 됩니다.somedir . . . . .러 . . . . . . . . . . . . . . . . . . 。pip단, 에는 ( , Github 에에소소소소소소소소소소소소소소소소소소소소소소소소소단 unmergederged단단 를 구현하는 오래된 풀 pip uninstall --target

  • 한 장소이기 pip 하는 및 정의된 입니다.「 」 、 「 」 、 「 」를 실행할 가 있습니다.pip uninstall지정된 사용자의 로컬 설치 디렉토리에서 제거할 각 사용자로 지정합니다.

예: MacOS에서 패키지 'oauth2client'를 제거하는 방법:

pip uninstall oauth2client

,, 용, 용, 의, 의, 의를 사용하는 하세요.pip install --user some_pkg 가상 환경 내에서 구현됩니다.

$ path/to/python -m venv ~/my_py_venv
$ source ~/my_py_venv/bin/activate
(my_py_venv) $ pip install --user some_pkg
(my_py_venv) $ pip uninstall some_pkg
WARNING: Skipping some_pkg as it is not installed.
(my_py_venv) $ pip list
# Even `pip list` will not properly list the `some_pkg` in this case

이 경우 현재 가상 환경을 비활성화한 다음 해당 가상 환경을 사용해야 합니다.python/pip사용자 사이트 패키지를 나열하거나 제거하는 실행 파일:

(my_py_venv) $ deactivate
$ path/to/python -m pip list
$ path/to/python -m pip uninstall some_pkg

문제는 몇 년 전에 보고되었습니다.현재 결론은 다음과 같습니다.--user가상 환경 내에서는 유효하지 않습니다.pip사용자 위치는 가상 환경에 적합하지 않기 때문입니다.

python 패키지 설치에는 가상 환경을 사용하는 것이 좋습니다.virtualenv를 사용하면 패키지 충돌 및 python 관련 userland 명령에서 완전히 분리되는 것을 방지할 수 있습니다.

글로벌하게 설치된 패키지를 모두 삭제하려면 다음 절차를 따릅니다.

설치된 패키지를 제거할 수 있습니다.--user깃발. 이건 나한테 효과가 있었어.

pip freeze --user | xargs pip uninstall -y

python 3의 경우

pip3 freeze --user | xargs pip3 uninstall -y

그러나 이러한 명령어는 setuptools와 pip을 제거하지 않습니다.이러한 명령어 후에(정확한 python을 필요로 하는 경우)를 사용하여 삭제할 수 있습니다.

pip uninstall setuptools && pip uninstall pip

이제 깨끗한 비단뱀 환경을 갖게 되었습니다.virtualenv를 생성하고 그 안에 패키지를 설치할 수 있습니다.

답은 아직 가능하지 않다.수동으로 제거해야 합니다.

@thomas-lotze에서 설명한 바와 같이 현재 pip 툴링에서는 --user 옵션이 없기 때문에 이 기능은 실행되지 않습니다.그러나 ~/.local/bin에 체크인하여 특정 pip#을 찾을 수 있습니다.# 는 --user 옵션에 대응하고 있는 것처럼 보입니다.

내 경우:

antho@noctil: ~/.l/bin$ pwd
/home/antho/.local/bin
antho@noctil: ~/.l/bin$ ls pip*
pip  pip2  pip2.7  pip3  pip3.5

그런 다음 특정 pip 버전을 사용하여 제거합니다.

Anaconda 버전 4.3.22와 python 3.6.1 환경을 실행하고 있는데 이 문제가 있었습니다.다음은 역사와 해결 방법입니다.

pip uninstall opencv-python # -- the original step. failed.

ImportError: DLL load failed: The specified module could not be found.

이것을 python3.6 환경에 적용하면, 이 에러가 발생합니다.

python -m pip install opencv-python # same package as above.
conda install -c conda-forge opencv # separate install parallel to opencv
pip-install opencv-contrib-python # suggested by another user here. doesn't resolve it.

다음으로 python3.6을 다운로드하여 python3.dll을 폴더와 다양한 폴더에 넣어 보았습니다.아무것도 변하지 않았어요.

결국, 이것으로 해결되었습니다.

pip uninstall opencv-python

(다른 conda-internal 버전은 아직 설치되어 있습니다.)이것으로 conda 버전만 남았고, 3.6에서는 동작합니다.

>>>import cv2
>>>

동작하고 있다!

언급URL : https://stackoverflow.com/questions/33412974/how-to-uninstall-a-package-installed-with-pip-install-user

반응형