Ich installierte Python 2.7.9 auf Ubuntu 14.04 durch Kompilieren der Quelle , durch .configre
, make
und make altinstall
. make altinstall
Das liegt daran, dass ich das Standard-Python 2.7.6 nicht überschreiben möchte. Meine selbst installierte 2.7.9 befindet sich in /usr/local/bin/python2.7
und viele andere Dateien in anderen Verzeichnissen unter /usr/local
. In README im Quellinstallationspaket :
Wenn Sie auf Unix- und Mac-Systemen mehrere Versionen von Python mit demselben Installationspräfix (--prefix-Argument für das Konfigurationsskript) installieren möchten, müssen Sie darauf achten, dass Ihre primäre ausführbare Python-Datei nicht durch die Installation einer anderen Version überschrieben wird.
Alle Dateien und Verzeichnisse, die mit "make altinstall" installiert wurden, enthalten die Haupt- und Nebenversion und können somit nebeneinander laufen. "make install" erstellt auch $ {prefix} / bin / python, das auf $ {prefix} /bin/pythonX.Y verweist.
Wenn Sie mehrere Versionen mit demselben Präfix installieren möchten, müssen Sie entscheiden, welche Version (falls vorhanden) Ihre "primäre" Version ist. Installieren Sie diese Version mit "make install". Installieren Sie alle anderen Versionen mit "make altinstall".
Wenn Sie beispielsweise Python 2.5, 2.6 und 3.0 mit 2.6 als Primärversion installieren möchten, führen Sie "make install" in Ihrem 2.6-Build-Verzeichnis und "make altinstall" in den anderen aus.
Jetzt möchte ich mein selbst installiertes 2.7.9 deinstallieren.
Zum Glück habe ich noch den Quellcode, aber leider hat das Makefile keinen Deinstallationsbereich
$ sudo make uninstall make: *** No rule to make target `uninstall'. Stop.
Dann habe ich einen anderen Weg ausprobiert: erst eine Deb aus dem Quellcode und der Kompilierung erstellen, die Deb installieren (hoffentlich die installierten Dateien überschreiben
make altinstall
) und dann die Deb deinstallieren.Aber wenn ich die Deb-Datei von erstelle
checkinstall
, bin ich mir nicht sicher, ob und wie ich das anders machen soll alsmake altinstall
fürmake install
. Was ich versucht habe ist:$ checkinstall altinstall ... Installing with altinstall... ========================= Installation results =========================== /var/tmp/tmp.4ZzIiwqBNL/installscript.sh: 4: /var/tmp/tmp.4ZzIiwqBNL/installscript.sh: altinstall: not found ...
Ich frage mich, wie ich eine Deb erstellen kann, damit die Installation der Deb den Installationsprozess von dupliziert
make altinstall
.Oder wie deinstallieren Sie meinen Python 2.7.9?
Hinweis: das Quellpaket in der ersten Verbindung hat auch setup.py
, install-sh
neben README
.
/usr/local
sie stattdessen verwendet werden/usr
.dpkg -L python2.7
unddpkg -L python2.7-minimal
. Und wofür brauchst du2.7.9
?apt-get install python-pip
.Antworten:
Die folgenden Befehle entfernen Ihre
make altinstall
-ed-Python:Möglicherweise müssen Sie auch tun
Obwohl
make altinstall
es mir gut getan hat, wenn das "System Python" eine andere major.minor-Nummer hat als die, die Sie installiert haben, funktioniert es nicht so gut, wenn sich nur die Micro-Nummer (die dritte Position) unterscheidet. Diese Nummer ist von der installierten Binärdatei ausgeschlossen, und Sie haben am Ende zwei Versionen von pythonX.Y. Dies war immer ein Problem, aber sobald Distributionen mit Systemdienstprogrammen auf Basis von 2.7.X ausgeliefert wurden, war dieses Problem schwerwiegender, da 2.7 das letzte der Python2-Serie sein soll.IMO ist der beste Weg, um dieses Problem zu lösen, zu verhindern, dass es eins wird: Konfigurieren Sie Python so, dass es in einem Verzeichnis installiert wird, das von keinem anderen Python verwendet wird. Auf meinem System gehen sie unter
/opt/python/X.Y.Z
.Um eines der dort installierten Pythons zu verwenden, erstellen Sie
[virualenv][1]
eine neue Umgebung:oder verwenden
[virtualenvwrapper][2]
. Ich habe einige Aliase für die neuesten Versionen in der Reihe, mit der ich arbeite.Wenn Sie
tox
zum Testen mehrerer Versionen verwenden (sollten Sie dies tun), hilft der folgende Alias dabei, die verschiedenen Versionen zu finden:(Dies sind derzeit die neuesten Versionen. Ich verwende ein etwas anderes Setup, indem ich Verknüpfungen
/opt/python/2.7
zu den neuesten/opt/python/2.7.9
und auch zu den anderen kleineren Nummern im Rahmen des Herunterladens, Erstellens und Installierens einer neuen Python-Version verwende.)Diese Installationen werden niemals direkt verwendet. Sie werden immer nur als Grundlage für
virtualenv
Umgebungen verwendet, daher ist es mir egal, dass sie sich nicht in meinem normalen PFAD befinden.quelle
pip
außerhalb von avirtualenv
auf einer Linux-Installation installierenAusgehend von der
rm
Liste von @ Anthon und unter Anwendung von @ bin-s Ratschlägen für die Suche nach neueren Dateien habe ich dieses Bash-Skript erstellt, um mein Python-3.6.6 (das aus Quellen mit installiert wurdemake altinstall
) vollständig zu löschen :Gehen Sie vorsichtig vor (fügen Sie z. B. die
-I
Option in rm cmd hinzu, um jeden Kill zu überprüfen).quelle
Normalerweise sind alle Dateien in fast einer Minute installiert. Sie können "find" verwenden, um alle installierten Dateien fast gleichzeitig zu überprüfen und sie dann manuell "rm". Wünsche es hilfreich.
quelle