Po zainstalowaniu Python 2.7.9 na Ubuntu 14.04 kompilując jego źródła , o .configre
, make
i make altinstall
. make altinstall
to dlatego, że nie chcę zastępować domyślnego języka Python 2.7.6. Moje samodzielnie zainstalowane 2.7.9 jest w, /usr/local/bin/python2.7
a wiele innych plików w innych katalogach pod /usr/local
. Z README w źródłowym pakiecie instalacyjnym:
W systemach Unix i Mac, jeśli zamierzasz zainstalować wiele wersji Pythona przy użyciu tego samego prefiksu instalacyjnego (argument --prefix w skrypcie konfiguracyjnym), musisz uważać, aby instalacja podstawowego pliku Python nie została nadpisana przez instalację innej wersji.
Wszystkie pliki i katalogi instalowane przy użyciu polecenia „make altinstall” zawierają wersję główną i pomocniczą, dzięki czemu mogą żyć obok siebie. „make install” tworzy również $ {prefix} / bin / python, który odnosi się do $ {prefix} /bin/pythonX.Y.
Jeśli zamierzasz zainstalować wiele wersji przy użyciu tego samego prefiksu, musisz zdecydować, która wersja (jeśli istnieje) jest wersją „podstawową”. Zainstaluj tę wersję za pomocą polecenia „make install”. Zainstaluj wszystkie pozostałe wersje za pomocą polecenia „make altinstall”.
Na przykład, jeśli chcesz zainstalować Python 2.5, 2.6 i 3.0 z wersją podstawową 2.6, wykonaj „make install” w katalogu kompilacji 2.6, a „make altinstall” w pozostałych.
Teraz chcę odinstalować moją samodzielnie zainstalowaną wersję 2.7.9.
Na szczęście nadal mam kod źródłowy, ale niestety w Makefile nie ma sekcji odinstalowywania
$ sudo make uninstall make: *** No rule to make target `uninstall'. Stop.
Potem spróbowałem w inny sposób: najpierw utwórz deb ze źródła i kompilacji, zainstaluj deb (mam nadzieję, że zastąpisz zainstalowane pliki
make altinstall
), a następnie odinstaluj deb.Ale kiedy tworzę plik deb
checkinstall
, nie jestem pewien, czy i jak powinienem zrobić inaczej dlamake altinstall
formake install
. Spróbowałem:$ checkinstall altinstall ... Installing with altinstall... ========================= Installation results =========================== /var/tmp/tmp.4ZzIiwqBNL/installscript.sh: 4: /var/tmp/tmp.4ZzIiwqBNL/installscript.sh: altinstall: not found ...
Zastanawiam się, jak mogę utworzyć deb, aby jego instalacja zduplikowała proces instalacji
make altinstall
?Lub w jaki sposób odinstalowujesz moje python 2.7.9?
Uwaga: pakiet źródłowy w pierwszym linku ma również setup.py
, install-sh
oprócz README
.
źródło
/usr/local
są to w zasadzie te same miejsca, z wyjątkiem tego, że używa się ich zamiast/usr
.dpkg -L python2.7
adpkg -L python2.7-minimal
. A do czego potrzebujesz2.7.9
?apt-get install python-pip
.Odpowiedzi:
Następujące polecenia usuną twój
make altinstall
-ed python:Być może będziesz musiał zrobić
Chociaż
make altinstall
dobrze mi służyło, jeśli „python systemowy” ma inny numer główny. Mniejszy niż ten, który instalujesz, nie działa tak dobrze, jeśli różni się tylko liczba mikro (trzecia pozycja). Ta liczba jest wykluczona z zainstalowanego pliku binarnego, a kończysz na dwóch wersjach pythonX.Y. Był to zawsze problem, ale gdy dystrybucje zaczęły być dostarczane z narzędziami systemowymi opartymi na wersji 2.7.X, problem ten był poważniejszy, ponieważ wersja 2.7 ma być ostatnią z serii Python2.IMO najlepszym podejściem do rozwiązania tego problemu jest zapobieganie, aby stał się jednym: skonfiguruj Pythona, aby instalował w katalogu nieużywanym przez żaden inny python. W moim systemie idą pod ziemię
/opt/python/X.Y.Z
.Aby użyć dowolnego z zainstalowanych tam Pythonów, musisz
[virualenv][1]
stworzyć nowe środowisko:albo użyj
[virtualenvwrapper][2]
. Mam kilka aliasów dla najnowszych wersji w serii, z którą pracuję.Jeśli używasz
tox
do testowania wielu wersji (powinieneś), następujący alias pomoże mu znaleźć różne wersje:(są to obecnie najnowsze wersje, używam nieco innej konfiguracji, utrzymując linki od
/opt/python/2.7
do najnowszej/opt/python/2.7.9
, a także dla innych mniejszych numerów, w ramach procesu pobierania, budowania i instalowania nowej wersji Pythona)Te instalacje nigdy nie są używane bezpośrednio. Są zawsze używane jako podstawa
virtualenv
tylko dla środowisk, dlatego nie dbam o to, że nie są w mojej normalnej ŚCIEŻCE.źródło
pip
poza linuksemvirtualenv
na żadnej instalacji LinuksaZaczynając od
rm
listy @ Anthon i stosując porady @ bin-s do wyszukiwania nowszych plików, wymyśliłem ten skrypt bash, aby całkowicie wyczyścić mój Python-3.6.6 (który został zainstalowany ze źródełmake altinstall
):Używaj go ostrożnie (np. Dodaj
-I
opcję w rm cmd, aby zweryfikować każde zabicie).źródło
Zwykle wszystkie pliki są instalowane w ciągu prawie jednej minuty. Możesz użyć polecenia „znajdź”, aby sprawdzić wszystkie zainstalowane pliki prawie w tym samym czasie, a następnie „ręcznie”. Życzę pomocy.
źródło