Gibt es eine offizielle Möglichkeit, eine bestimmte Version von Python zumindest 2.6
manuell in das von mir ausgewählte Verzeichnis zu installieren ? Ich habe nicht unbedingt root-Rechte auf dem Host, auf dem ich installiere.
Nachdem ich die Python-Installation abgeschlossen habe, muss ich sie installieren pip
. Für mich ist es wichtig, dass das vom System bereitgestellte Python (2.4.3 im Lieferumfang von CentOS 5 enthalten) für alle meine Zwecke vollständig ignoriert wird. Im Wesentlichen muss sich meine gesamte Python- und Pip-Installationsprozedur so verhalten, als ob keine frühere Version von Python auf dem System installiert wäre.
Kompiliere ich es aus dem Quellcode oder kann ich irgendeine Form von Paket haben, das ich einfach irgendwo extrahieren und Python ausführen kann? Ich bevorzuge letzteres, da ich versuche, die Installation des Entwicklungssoftware-Stacks auf dem Host zu vermeiden (es ist ein Server, keine Entwickler-Workstation).
Antworten:
Laden Sie eines der Quell-Tarballs auf dieser Seite herunter .
Dann entpacken Sie es
cd
in das Verzeichnis und folgen den Anweisungen in Abschnitt 2.2 des Python-Online-Handbuchs .Wenn Sie möchten, dass es beispielsweise
/usr/bin
anstelle der Standardinstallation (/usr/local/bin
in Ubuntu / Debian) installiert wird, geben Sie stattdessen ein./configure
,./configure --prefix=/usr
wenn Sie dazu aufgefordert werden, es im Handbuch zu verwenden.$HOME/bin
Verwenden Sie in Ihrem Verzeichnis--prefix=$HOME
.Wenn es nicht existiert, füge
$HOME/bin
es$PATH
wie folgt hinzu :$ export PATH=$HOME/bin:$PATH
Dies kann bereits in Ihrem
.bashrc
Ubuntu und anderen sein. Wenn dies der$HOME/bin
Fall ist, wird es beim nächsten Anmelden$PATH
automatisch zu Ihrem hinzugefügt .quelle
Dafür müssten Sie meines Erachtens aus dem Quellcode kompilieren und die
--prefix
Option verwenden.tar -xvf python*.tar.bz2
cd python
./configure --prefix=/home/$(whoami)/desired_folder && make && make install
path
, um es aufrufen zu können.quelle
Verwenden
ALTINSTALL
Sie diese Option für eine alternative Installation, um Ihr Standard-Python3 nicht zu ersetzen.quelle
Das klingt nach einem Job für virtualenv: https://pypi.python.org/pypi/virtualenv
Sie können es mit pip: installieren
pip install virtualenv
, allerdings benötigen Sie dafür Berechtigungen auf dem Computer. Wenn Sie keine Computerberechtigungen haben, können Sie diese lokal installieren (aus der Dokumentation kopiert ):Bearbeiten: Virtualenv installiert selbst keine neuen Versionen von Python. Sie müssen es anderswo installieren, wie in anderen Antworten erwähnt, und dann den Pfad zu Ihrem benutzerdefinierten Build angeben, mit
-p /path/to/bin/python
dem Sie eine Umgebung erstellen. Das macht es einfach, die Umgebung vom Rest des Systems getrennt zu halten.quelle
chroot
?/var/log
,/usr/bin
etc, es ist nur so, dass die tatsächlichen Daten, die Adressierung/var/log
und/usr/bin
in diesem Fall verfügbar sind, unterschiedlich sein können - es muss nicht gleich sein/var/log
und/usr/bin
. Du änderst die Wurzel, aber du kannst sie nicht loswerden. Jailing ist ein loser Begriff, der etwas beschreiben kann, was getan werden kannchroot
, aber die beiden haben einen etwas unterschiedlichen Anwendungsbereich.