2015-08-27 11 views
8

mam odinstalować pakiet „setuptools” z pytona stosując następujące pip funkcjiOdinstaluj i ponownie zainstalować pakiet pip z modułem Pythona

import pip 
pip.main(['uninstall','--yes','setuptools']) 

Kiedy próbowałem ponownie zainstalować ponownie ten sam pakiet za pomocą poniższego polecenia go, generuje następujący komunikat o błędzie

pip.main(['install','setuptools']) 

błąd:

Requirement already satisfied (use --upgrade to upgrade): setuptools in c:\\python27\\lib\\site-packages 

Czy istnieje Optio n przezwyciężyć to? Z góry dzięki :)

Odpowiedz

7

Tak, --ignore-installed. Aby uzyskać więcej informacji: pip install --help który wyjaśnia:

-U, --upgrade    Upgrade all specified packages to the newest 
          available version. This process is recursive 
          regardless of whether a dependency is already 
          satisfied. 
--force-reinstall   When upgrading, reinstall all packages even if 
          they are already up-to-date. 
-I, --ignore-installed  Ignore the installed packages (reinstalling 
          instead). 

Zresztą próbowałem go z Pythona 3.4. Z powyższych opcji tylko pip install --ignore-installed zainstalował wcześniej zainstalowany pakiet.

+0

miałem częściowo zainstalowanego na drukarce pip się wydaje, ponieważ PIP nie było reckogized jako polecenie i nie mogłem” t uruchom python -m pip "cokolwiek". Wykonywanie Pythona get-pip.py nie rozwiązałoby niczego. Ale ** python get-pip.py --force-reinstall **. Dziękuję Ci bardzo. –

2

Odinstalowanie nie zostanie uwzględnione, dopóki następnym razem nie zostanie uruchomiony python. Aby odinstalować i zainstalować ponownie, możesz podzielić swój kod na 2 pliki.

Plik "main.py":

import pip 
import os 

pip.main(['uninstall','--yes','setuptools']) 
os.system('python install_setuptools.py') 

Plik "install_setuptools.py":

import pip 

pip.main(['install','setuptools']) 
+1

Rzeczywiście, to nie ma wpływu na następny restart Pythona. Ale dlaczego? I czy można go obejść w tym samym tłumaczu? – ankostis

Powiązane problemy