Hoe verwijder ik pakketten die zijn geïnstalleerd met Python’s easy_install?

Python’s easy_installmaakt het installeren van nieuwe pakketten uiterst gemakkelijk. Voor zover ik weet, implementeert het echter niet de andere algemene functies van een afhankelijkheidsmanager – het weergeven en verwijderen van geïnstalleerde pakketten.

Wat is de beste manier om erachter te komen wat er is geïnstalleerd en wat is de beste manier om geïnstalleerde pakketten te verwijderen? Zijn er bestanden die moeten worden bijgewerkt als ik pakketten handmatig verwijder (bijv. door rm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.eggof iets dergelijks)?


Antwoord 1, autoriteit 100%

pip, een alternatief voor setuptools/easy_install, biedt een “uninstall”-opdracht.

Installeer pip volgens de installatie-instructies:

$ wget https://bootstrap.pypa.io/get-pip.py
$ python get-pip.py

Vervolgens kunt u pip uninstallgebruiken om pakketten te verwijderen die zijn geïnstalleerd met easy_install


Antwoord 2, autoriteit 31%

Om een ​​.eggte verwijderen, moet je het ei rm -rf(het kan een directory zijn) en de overeenkomende regel verwijderen uit site-packages/easy-install.pth


Antwoord 3, autoriteit 26%

Eerst moet je dit commando uitvoeren:

$ easy_install -m [PACKAGE]

Het verwijdert alle afhankelijkheden van het pakket.

Verwijder vervolgens het eierbestand van dat pakket:

$ sudo rm -rf /usr/local/lib/python2.X/site-packages/[PACKAGE].egg

Antwoord 4, autoriteit 9%

Alle informatie staat in de andere antwoorden, maar geen enkele vat beideuw verzoeken samen of lijkt de zaken nodeloos ingewikkeld te maken:

  • Gebruik voor uw verwijderingsbehoeften:

    pip uninstall <package>
    

    (installeer met behulp van easy_install pip)

  • Voor uw ‘lijst geïnstalleerde pakketten’-behoeften kunt u het volgende gebruiken:

    pip freeze
    

    Of:

    yolk -l
    

    die meer pakketdetails kan weergeven.

    (Installeer via easy_install yolkof pip install yolk)


Antwoord 5, autoriteit 5%

Er zijn verschillendebronnen op het internet die een hack suggereren door het opnieuw installeren van de pakket met de optie -m en verwijder dan gewoon het .egg-bestand in lib/ en de binaire bestanden in bin/. Een discussie over dit probleem met setuptools is ook te vinden op de python-bugtracker als setuptools issue 21.

Bewerken: de link toegevoegd aan de python bugtracker.


Antwoord 6, autoriteit 4%

Als het probleem je ernstig genoeg irriteert, kun je virtualenvoverwegen. Hiermee kunt u een omgeving creëren waarin python-bibliotheken zijn ingekapseld. U installeert pakketten daar in plaats van in de globale map site-packages. Alle scripts die u in die omgeving uitvoert, hebben toegang tot die pakketten (en optioneel ook uw algemene). Ik gebruik dit veel bij het evalueren van pakketten waarvan ik niet zeker weet of ik ze wereldwijd wil/moet installeren. Als u besluit dat u het pakket niet nodig hebt, is het eenvoudig genoeg om die virtuele omgeving weg te blazen. Het is vrij eenvoudig te gebruiken. Maak een nieuwe omgeving:

$>virtualenv /path/to/your/new/ENV

virtual_envt installeert setuptools voor u in de nieuwe omgeving, zodat u het volgende kunt doen:

$>ENV/bin/easy_install

U kunt zelfs uw eigen BoosTRAP-scripts maken die uw nieuwe omgeving instellen. Dus, met één opdracht, kunt u een nieuwe virtuele env met, zeggen, Python 2.6, Psycopp2 en Django die standaard is geïnstalleerd (u kunt een env-specifieke versie van Python installeren als u wilt).


7, Autoriteit 3%

Officiële (?) Instructies: http://peak.telecommunity.com/devcenter/ EasyInstall # Uninstalling-packages

Als u een pakket met een andere versie hebt vervangen, kunt u de pakket (s) gewoon verwijderen die u niet nodig hebt door het bestand Packagename-VersionFO.egg of Directory (gevonden in de installatiemap) te verwijderen.

Als u de momenteel geïnstalleerde versie van een pakket (of alle versies van een pakket) wilt verwijderen, moet u eerst uitvoeren:

easy_install -mxN PackageName

Hiervoor zorgt u ervoor dat Python niet blijft zoeken naar een pakket dat u van plan bent om te verwijderen. Nadat u dit hebt gedaan, kunt u veilig de .egg-bestanden of mappen verwijderen, samen met eventuele scripts die u wilt verwijderen.


8, Autoriteit 3%

Probeer

$ easy_install -m [PACKAGE]

Dan

$ rm -rf .../python2.X/site-packages/[PACKAGE].egg

9

kwam deze vraag over, terwijl ik probeerde de vele willekeurige python-pakketten in de loop van de tijd te verwijderen.

Informatie van deze thread gebruiken, is dit wat ik bedacht:

cat package_list | xargs -n1 sudo pip uninstall -y

De package_listwordt opgeruimd (AWK) van een pip freezeIN EEN VIRUALENV.

Om bijna alle Python-pakketten te verwijderen:

yolk -l | cut -f 1 -d " " | grep -v "setuptools|pip|ETC.." | xargs -n1 pip uninstall -y

10

Ik liep in hetzelfde probleem op mijn MacOS X Leopard 10.6.Blah.

Oplossing is om ervoor te zorgen dat u de MACPORTS PYTHON belt:

sudo port install python26
sudo port install python_select
sudo python_select python26
sudo port install py26-mysql

Ik hoop dat dit helpt.


11

Voor mij verwijder alleen dit bestand: Easy-install.pth
Werkte, rust Pip Install Django == 1.3.7


12

Dit werkte voor mij. Het is vergelijkbaar met eerdere antwoorden, maar het pad naar de pakketten is anders.

  1. sudo easy_install -m
  2. sudo rm -rf /Library/python/2.7/site-packages/.egg

PLAFORM: MacOS High Sierra versie 10.13.3

Other episodes