Ich möchte den neuesten Python-Tarball unter Ubuntu installieren, der von http://python.org/download/ heruntergeladen wurde .
Ist dies eine korrekte Installationsmethode?
./configure
make
make install
Wenn nicht, wie mache ich das?
software-installation
python
Mohammads
quelle
quelle
sudo apt-get install python-2.7 python-pip
sudo apt-get install python2.7
. Dies ist nicht nur einfacher, sondern auch die einzig richtige Antwort, da Sie nur so in der Lage sind, Python-Module über apt-get und ihre Abhängigkeiten zu installieren.Antworten:
Installieren Sie zunächst einige Abhängigkeiten:
Dann laden Sie mit dem folgenden Befehl:
Extrahieren Sie und gehen Sie in das Verzeichnis:
Installieren Sie jetzt mit dem Befehl, den Sie gerade ausprobiert haben. Verwenden Sie
checkinstall
stattdessen, um die Deinstallation bei Bedarf zu vereinfachen:Wechseln Sie
version
zu der Version, die Sie benötigen (version=2.7.1
oderversion=3.6.0
zum Beispiel).quelle
sudo make install
und nichtaltinstall
als Standard-Python-VersionCXX=g++ ./configure
if ./configure gibt eine Warnung aus, dass g ++ nicht gefunden wurdesudo apt-get install python
, die kompliziertere Antwort lautet "Wie installiere ich den neuesten Python?" Sie haben das gleiche Problem auf jedem Betriebssystem, es sei denn, Sie installieren vorkompilierte Binärdateien von einem Drittanbieter, was wiederum auf jedem Betriebssystem ein Risiko darstellt (und von Betriebssystem zu Betriebssystem sehr unterschiedlich ist). Auch diese Antwort stammt aus dem Jahr 2012; Für neuere Ratschläge siehe askubuntu.com/questions/101591/…Wenn Sie nicht wirklich Lust haben, es selbst zu kompilieren, sollten Sie die DeadSnakes-PPA verwenden , um Versionen von Python zu installieren, die nicht standardmäßig enthalten sind:
Andere Versionen wie
python2.4
oderpython3.6
usw. sind ebenfalls erhältlich.quelle
really have a burning desire to compile it yourself
ppa
nicht offiziell gebilligt ist, so ist der sicherste Weg, von der Quelle zu bauen. 2. Dies führt zu einem globalen Python, in demsudo
Benutzer keine Pakete ändern oder installieren können, und nicht zu einem lokalen Python . 3. Mehrere Pythons können lokal an verschiedenen Orten installiert werden, indem sie aus dem Quellcode erstellt werden.apt-get install python2.7
Dies installiert die Binärdatei python2.7 anstelle von python ... hässlich !!Weitere Informationen zu den neuesten Ubuntu-Versionen 1 : Für den Ubuntu 16.04.1-Server ist Python standardmäßig Version 3.5 und Python 2.7 nicht standardmäßig installiert. Bei einer Neuinstallation (beachten Sie, dass es nicht einmal eine
python
ausführbare Datei gibt):Hinweis: Bevor Sie fortfahren, werden Sie wahrscheinlich eine schnelle tun wollen
sudo apt-get update
,sudo apt-get upgrade
undsudo apt-get dist-upgrade
(bitte tun Anmerkung genau das, was diese Befehle sind in der Tat zu tun, und ich gehe davon aus hier eine neue Installation.)Die Installation von Python 2.7 ist so einfach wie:
Die erste Ausgabe der Installation von Python 2.7 sieht folgendermaßen aus:
Nach der Installation von Python 2.7
Es gibt jedoch immer noch ein Problem, da Sie PyPI-Module noch nicht über installieren können.
pip
Wenn Sie z. B. ein Jupyter-Notebook oder das neueste Scipy oder Numpy (usw.) möchten, möchten Sie diese installierenpip
undpip install
wenden sich dann weiterhin anapt-get
um alle benötigten Systemabhängigkeiten wie graphviz oder Kernsystembibliotheken zu installieren.Die Installation von pip ist also wieder so einfach wie
sudo apt-get install python-pip
:Sie benötigen sowohl
python-pip
für Python 2.7pip
als auchpython3-pip
für Python 3pip
. Die Installation überapt-get
ist sicher, dass die erforderlichen Abhängigkeiten installiert werden. Hier ist die Ausgabe für die Installation von pip2:Daraus ergibt sich ein interessantes Ereignis: Sie haben jetzt den "Standard" (und PEP empfohlen)
python2
undpython3
(die sind nur Symlinks zu Python 2.7 und Python 3.5):Sie werden auch wollen
sudo apt-get install python3-pip
; Vor der Installation haben Sie:Nach der Installation
pip3
,Die resultierenden Versionen:
Und noch eine letzte Sache, bevor Sie mit der Installation aller Ihrer bevorzugten Python-PyPI-Module beginnen können: Sie müssen wahrscheinlich pip selbst aktualisieren (sowohl pip2 als auch pip3, unabhängig davon, ob
pip
es über diepython
ausführbaren Dateien oder über die aufgerufen wirdpip
ausführbare Dateien, die eigentlichen Upgrades sind gespeichert in/usr/lib
):Sie können jetzt entweder die eigenständige
pip
oder die inpython
(viapython -m pip {command}
) enthaltene Version ausführen .[1] Historisches Fazit: Ältere Ubuntu hatten nur Python 2.6, also alle verschiedenen Methoden, um Python 2.7+ zu installieren. Später, nachdem Python 2.7 zu den öffentlichen Repositories hinzugefügt wurde, hatten wir immer noch die gleiche Herausforderung, das neueste Python 2.7 mit den neuesten Fixes zu installieren, was (zu) häufig notwendig war. Die heutige Situation ist viel besser / einfacher: Die aktuellen Python 2.7 und 3.5 (im Grunde die einzigen zwei Python-Plattformversionen, die die Leute interessieren), die jetzt in den öffentlichen Repos sind, sind sehr stabil, sodass wir uns nur um die Installation der neuesten kümmern müssen Python- Module , nicht die neuesten Python . Das "neueste Versionsproblem" von Python ist nun teilweise aus den Betriebssystem-Repos &
apt
in PyPI & übergegangenpip
.)quelle
$PATH
. Die env varPATH
ist eine lange Liste von Verzeichnissen mit buchstäblich Tausenden von Dateien. Um die Suche nach der ausführbaren Datei zu beschleunigen, verwendet die Shell eine zwischengespeicherte Hashtabelle für die schnelle Suche. Es könnte veraltet werden, also lässt "hashed" Sie wissen, dass es sich "an diesen Befehl erinnert", der dieser ausführbaren Datei zugeordnet ist. Unix.stackexchange.com/questions/5609/…pip
(2.7) als auchpip3
(3.x) vollständig installiert / aktualisiert wurden und nicht nur die ersteren - dhsudo apt-get install python-pip python3-pip
undsudo -H python2 -m pip install --upgrade pip
undsudo -H python3 -m pip install --upgrade pip
... oder ob es sich wirklich um ein Berechtigungsproblem handelt (angezeigt durch "es funktioniert mit") sudo "), dann wird es etwas schwieriger, sie zu finden.12.04
Wenn Sie Achus Antwort folgen , sollte der Begriff
libread5-dev
in geändert werdenlibreadline-gplv2-dev
. Der vollständige Befehl wäre also:quelle
Sie können es auch über pyenv herunterladen und installieren
quelle
pyenv-virtualenv
Plugin wird auch Virtualenv unterstützt , sodass Anwendungen mit unterschiedlichen Modulanforderungen problemlos installiert werden können.bash --login
), was nicht ist immer leicht zu erreichen zB von Ansible. Am besten für die interaktive Verwendung geeignet, weniger für Skriptserver.Meistens ein Spiegel dieser Antwort mit einem optimierten Intro
Ich würde Pyenv empfehlen . Es automatisiert den Erstellungsprozess, abgesehen von der Installation der Header-Abhängigkeiten (siehe unten). Sie können eine neue (oder alte) Version von Python erstellen und installieren, indem Sie einfach sagen
pyenv install 3.6.0
: Alles läuft als Ihr Benutzer, so dass Sie sich keine Sorgen machen müssen, ob Sie das von Ubuntu selbst verwendete Python durcheinander bringen.Im Gegensatz zu einigen apt-repo-basierten Optionen (z. B. Deadsnakes) funktioniert es im Allgemeinen am Tag der Veröffentlichung nach a,
pyenv update
da Sie nicht darauf warten müssen, dass jemand anderes es packt. Alle Versionen anzeigen, mit denen Sie installieren könnenpyenv install --list
Installieren Sie pyenv
Installieren Sie Tools und Header, die zum Erstellen von CPythons erforderlich sind (exotische Pythons wie PyPy oder Jython können andere Abhängigkeiten aufweisen). Git wird von pyenv verwendet und ermöglicht auch das Erstellen / Installieren von Quell-Zweigen, so dass Sie das installieren können, was gerade 3.8 ist, dh den Master-Zweig von CPython, der neu von GitHub stammt:
Führen Sie das Installationsskript aus (installiert pyenv und einige sehr nützliche pyenv-Plugins des ursprünglichen Autors; weitere Informationen finden Sie hier ).
Fügen Sie Init-Zeilen zu Ihrem
~/.profile
oder hinzu~/.bashrc
(dies wird am Ende des Installationsskripts erwähnt):Starten Sie Ihre Shell neu (close & open oder
exec $SHELL
) oder laden Sie das Profilskript neu. (mit zBsource ~/.bashrc
)Getan!
Umgebung einrichten
Um das System Python nicht zu berühren (im Allgemeinen eine schlechte Idee; Dienste auf Betriebssystemebene könnten sich auf bestimmte Bibliotheksversionen usw. stützen), erstellen Sie Ihre eigene Umgebung - es ist ganz einfach! Noch besser, nein
sudo
, dafür oderpip
installiert!Installieren Sie Ihre bevorzugte Python-Version (dadurch wird die Quelle heruntergeladen und für Ihren Benutzer erstellt, keine Eingabe erforderlich)
Machen Sie es zu einem virtuellen Video, damit Sie später andere erstellen können, wenn Sie möchten
Machen Sie es global aktiv (für Ihren Benutzer)
Mach was du willst mit dem Python / Pip, etc. Es liegt bei dir.
Wenn Sie Ihre Bibliotheken später bereinigen möchten, können Sie das virtuelle env löschen (
pyenv uninstall general
) oder ein neues erstellen (pyenv virtualenv 3.6.0 other_proj
). Sie können auch Umgebungen pro Verzeichnis aktivieren: Legtpyenv local other_proj
eine.python-version
Datei in Ihrem aktuellen Ordner ab, und jedes Mal, wenn Sie Python- oder Python-Dienstprogramme aufrufen, die von Python oder darunter installiert wurden, werden sie von pyenv angepasst.Fehlerbehebung
bash: pyenv: command not found
,fish: Unknown command 'pyenv'
$PATH
, ob es einen Eintrag geben sollte, der mit so etwas wie endet.pyenv/bin
. Wenn es fehlt, vergewissere dich, dass du # 3 UND # 4 (starte deine Shell neu) unter Install pyenv oben gefolgt bist.pyenv: no such command 'virtualenv'
pyenv commands
.quelle