Używam Ubuntu 9:10 i zainstalowany jest pakiet o nazwie M2Crypto (wersja to 0.19.1). Muszę pobrać, zbudować i zainstalować najnowszą wersję pakietu M2Crypto (0.20.2).
Pakiet 0.19.1 zawiera pliki w wielu lokalizacjach, w tym (/ usr / share / pyshared i /usr/lib/pymodules.python2.6).
Jak mogę całkowicie odinstalować wersję 0.19.1 z mojego systemu przed zainstalowaniem wersji 0.20.2?
Najlepszym sposobem, jaki znalazłem, jest uruchomienie tego polecenia z terminala
sudo
poprosi o podanie hasła roota, aby potwierdzić działanie.Uwaga: Niektórzy użytkownicy mogą zamiast tego zainstalować pip3. W takim przypadku użyj
źródło
pip update
ipip upgrade
byłem zdesperowany, dopóki--upgrade
tu nie zobaczyłem . Dlaczego nie dodająpip upgrade
polecenia?sudo
nie jest wymagane.Aby automatycznie zaktualizować wszystkie nieaktualne pakiety (które zostały zainstalowane przy użyciu pip), po prostu uruchom skrypt poniżej,
Tutaj
pip list --outdated
wyświetli listę wszystkich przestarzałych pakietów, a następnie potokujemy go do awk, aby wypisał tylko nazwy. Następnie$(...)
zmieni zmienną, a następnie wszystko zostanie zrobione automatycznie. Upewnij się, że masz uprawnienia. (Po prostu wstawsudo
przed pip, jeśli jesteś zdezorientowany) Napiszę skrypt o nazwie,pip-upgrade
kod jest poniżej,Następnie użyj następujących wierszy skryptu, aby go przygotować:
Więc po prostu uderz
pip-upgrade
i voila!źródło
awk: cmd. line:1: { print $1 })
pip
wymagają użycia--format=legacy
opcji, tjpip list --outdated --format=legacy
. Również FYI dla wszystkich: ślepa aktualizacja wszystkich modułów przez pip może być dość niebezpieczna na wielu dystrybucjach Linuksa. Wiele z nich udostępnia określone moduły Pythona za pośrednictwem pakietów dystrybucyjnych, a niektóre z tych dystrybucji (w szczególności RHEL) mogą mocno się zepsuć, jeśli aktualizujesz gówno ... nie wspominając o tym, że jeśli aktualizujesz za pośrednictwem pip, pakiety dystrybucyjne mogą przywrócić twoje zmiany przyszła aktualizacja.pip install $(pip list --outdated | tail +3 | grep -v sdist | awk '{ print $1 }') --upgrade
pip list --outdated
Otrzymasz listę nieaktualnych pakietów.pip install [package] --upgrade
zaktualizuje[package]
i odinstaluje poprzednią wersję.Aby zaktualizować pip:
Ponownie spowoduje to odinstalowanie poprzedniej wersji pip i zainstalowanie najnowszej wersji pip.
źródło
źródło
Myślę, że najlepszym jednoliniowym jest:
źródło
Użyj pipupgrade !
pipupgrade pomaga uaktualnić system, lokalny lub pakiety z
requirements.txt
pliku! Selektywnie aktualizuje również pakiety, które nie psują zmian. Kompatybilny z Python2.7 +, Python3.4 + i pip9 +, pip10 +, pip18 +.UWAGA: Jestem autorem narzędzia.
źródło
pip3.7 list --outdated | sed -n -e '3,$s/ .*//p'
; wykonaj instalację pip3.7 - uaktualnij $ i; gotoweJak oryginalnie zainstalowano pakiet? Gdyby to było przez apt, możesz to zrobić
apt-get remove python-m2crypto
Jeśli zainstalowałeś go za pomocą easy_install, jestem pewien, że jedynym sposobem jest po prostu skasowanie plików w lib, współdzielonych itp.
Moja rekomendacja w przyszłości? Użyj czegoś takiego jak pip, aby zainstalować swoje pakiety. Co więcej, możesz spojrzeć na coś, co nazywa się virtualenv, więc twoje pakiety są przechowywane na podstawie środowiska, a nie tylko na rootie.
Z pipem jest to dość łatwe:
Ale możesz również zainstalować z repozytoriów git, svn itp. Z właściwym adresem. Wszystko to wyjaśniono w dokumentacji pip
źródło
źródło
W notatniku Juptyer jest to bardzo prosty sposób
Musisz tylko zastąpić rzeczywistą nazwą pakietu.
źródło
Pobierz wszystkie nieaktualne pakiety i utwórz plik wsadowy za pomocą następujących poleceń pip install xxx --upgrade dla każdego nieaktualnego pakietu
źródło