당신이 사용하는 경우 pip
패키지를 설치하기 위해 필요한 모든 패키지는 또한 (종속)와 함께 설치됩니다. 해당 패키지를 제거하면 종속 패키지도 제거됩니까?
답변
아니요, 종속성 패키지를 제거하지 않습니다. 지정된 패키지 만 제거합니다.
$ pip install specloud
$ pip freeze # all the packages here are dependencies of specloud package
figleaf == 0.6.1
코 == 1.1.2
피노키오 == 0.3
specloud == 0.4.5
$ pip uninstall specloud
$ pip freeze
figleaf == 0.6.1
코 == 1.1.2
피노키오 == 0.3
보시다시피 이러한 패키지는 종속성 specloud
이며 여전히 존재하지만 specloud
패키지 자체는 아닙니다 .
아래에서 언급 한 것처럼 pip-autoremove 유틸리티를 설치하고 사용하여 패키지와 사용하지 않는 종속성을 제거 할 수 있습니다 .
답변
pip-autoremove 유틸리티를 설치하고 사용하여 패키지와 사용하지 않는 종속성을 제거 할 수 있습니다 .
# install pip-autoremove
pip install pip-autoremove
# remove "somepackage" plus its dependencies:
pip-autoremove somepackage -y
답변
이 bash 줄을 사용하여 패키지의 종속성을 성공적으로 제거했습니다.
for dep in $(pip show somepackage | grep Requires | sed 's/Requires: //g; s/,//g') ; do pip uninstall -y $dep ; done
이것은 pip 1.5.4에서 작동했습니다.
답변
일부는 수행하기가 다소 어려울 수도 있지만 해결책을 찾았습니다.
1 단계 (python3 및 Linux의 경우) :
pip3 install pip-autoremove
2 단계 :
cd /home/usernamegoeshere/.local/bin/
3 단계 :
gedit /home/usernamegoeshere/.local/lib/python3.8/site-packages/ pip_autoremove.py
및 모든 pip를 pip3 4 단계로 변경하십시오. ./pip-autoremove packagenamegoeshere
적어도 이것은 나를 위해 일한 것입니다 …