Wird python2.7 in Zukunft für 10.04 verfügbar sein?
27
Da Ubuntu 10.04 ein LTS-Release ist, wird es Python 2.7 als Standard-Paket-Betreuer-Version unterstützen oder wird es in Zukunft mindestens ein Python2.7-Paket geben?
Da es das letzte größere Python 2.x-Release sein wird und es für eine lange Zeit bestehen bleiben soll, habe ich mich für die Verwendung entschieden. Ich habe es aus dem Quellcode kompiliert (nach dem Erstellen von Deps natürlich), aber ab und zu finde ich kleine Probleme.
Ist es sicher, mein kompiliertes Python 2.7 als Standard zu definieren, da es einige Distributionsanwendungen gibt, die mit Python arbeiten?
Nein, es wird als nicht sicher angesehen, 2.7 als Ihren Standard-Python-Interpreter in Lucid zu definieren . Und ich denke nicht, dass es in der Zukunft sein wird.
In einer Version gibt es keine größeren Versions-Upgrades für Software.
Daher ersetzt python2.7 2.6 nicht als Standardinterpreter. Diese Art von Upgrade wird nur zwischen Versionen durchgeführt. Innerhalb einer - insbesondere einer LTS - gibt es nur sogenannte stabile Release-Upgrades, dh Bugfixes und sicherheitsrelevante Upgrades.
Es ist jedoch absolut sicher, python2.7 zu verwenden. Definieren Sie Ihren Interpreter als #!/usr/bin/python2.7und lassen Sie ihn von Benutzern make altinstallneben python2.6 in der Python-Quelle installieren
Hatte das gleiche Problem mit einem VPS, das nicht auf Maverick aktualisiert werden kann (auch die neuen LTS-Images werden nicht immer rechtzeitig zur Verfügung gestellt). Marius 'Antwort hat den Trick gemacht, um mich zum Einstieg zu bewegen, aber es sollte erweitert werden:
Fügen Sie den PPA zu Ihren Quellen hinzu
Wenn Sie in meiner Situation sind, wird der einfache Ratschlag des Laufens add-apt-repositoryfür Sie nicht funktionieren. Also machen wir das auf die altmodische Art und Weise:
Öffnen Sie die Datei /etc/apt/sources.list(Sie benötigen Root-Rechte. Wenn Sie sich in der Shell befinden, bedeutet dies wahrscheinlich, dass Sie ausgeführt werden sudo vim /etc/apt/sources.list).
Gehen Sie ganz zum Ende der Datei (wenn Sie verwenden vim, wechseln Sie durch Drücken von in den Einfügemodus i) und fügen Sie die folgenden Zeilen hinzu:
deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main
deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main
Speichern und beenden Sie (in vim: type :wq) und kehren Sie zu einer Shell zurück.
Geben Sie Folgendes ein (Sie finden den richtigen Schlüssel in der PPA ; es ist der Teil nach dem Schrägstrich in den "technischen Details" - stellen Sie sicher, dass Sie den richtigen haben):
Schließlich wollen pipund virtualenvarbeiten Sie, wenn Sie etwas Ernstes vorhaben:
easy_install-2.7 pip
pip-2.7 install virtualenv
Einrichten einer virtuellen Umgebung
Erstellen Sie den Ordner für Ihre neue Umgebung und öffnen Sie ihn:
mkdir my_env && cd my_env
Erstellen Sie die virtuelle Umgebung selbst (der Punkt gibt an, dass das aktuelle Verzeichnis der Speicherort der Umgebung ist. Ersetzen Sie ihn durch den richtigen Pfad, wenn Sie den vorherigen Schritt übersprungen haben.):
virtualenv --no-site-packages --python=python2.7.
Aktivieren Sie die Umgebung. Sie werden feststellen, dass die Änderungen der Shell-Eingabeaufforderung die aktive Umgebung widerspiegeln:
source bin/activate
Was auch immer Sie jetzt in dieser Shell tun, die Skripte im binOrdner der virtuellen Umgebung und die Python-Pakete dieser Umgebung werden verwendet. Beachten Sie, dass die Option --no-site-packagesbedeutet, dass Sie mit dem minimalen Satz von Paketen beginnen (einschließlich pipjedoch), sodass Sie alle Pakete installieren müssen, die Sie benötigen.
Wenn Sie fertig sind, deaktivieren Sie die Umgebung (dies ist ein Befehl, der von der aktiven Umgebung erkannt wird):
deactivate
Sie können Pakete auch in der virtuellen Umgebung installieren , indem Sie die -EOption an übergeben pip(z. B. pip install some-package -E /path/to/virtual/environmentum sie some-packagein der virtuellen Umgebung auf dem angegebenen Pfad zu installieren ). Denken Sie daran, dass Sie verschiedene Versionen haben pip, die den verschiedenen installierten Python-Versionen entsprechen.
Es ist eine gute Idee, pip-2.7wenn Sie Pakete für Python 2.7 außerhalb einer virtuellen Umgebung installieren möchten (die --python=python2.7Option, die wir übergeben haben, virtualenvbedeutet, dass die virtuelle Umgebung die Python 2.7-Versionen der bereitgestellten Tools verwendet, sodass Sie dies nicht tun müssen Sorgen machen).
In meinem Fall hatte ich pip für 2.6 bereits installiert und musste easy_install-2.7 -U pipdie Installation der 2.7-Version erzwingen. Aber danke, das ist eine große Hilfe!
Gabe Moothart
2
Für Schritt 2 unter "Python 2.7 installieren und einrichten" musste ich tun wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python2.7. Und dann Pip sudo python2.7 -m easy_install pipgefolgt von bekommen sudo python2.7 -m easy_install --upgrade pip. Die Option --no-check-certificate war erforderlich, um eine Beschwerde von wget über das SSL-Zertifikat zu umgehen. (Siehe pypi.python.org/pypi/setuptools#unix-wget )
zlovelady
10
Es gibt eine PPA mit Python 2.7 für Ubuntu 10.04. Dies ist möglicherweise sicherer und praktischer als das Erstellen aus der Quelle.
Ich glaube nicht, da es viele der mit der 10.04-Version verbundenen Programme und Bibliotheken ändern muss. Tatsächlich werden viele Arbeiten in Ubuntu mit einer bestimmten Python-Version ausgeführt. Wenn Sie es in Python ändern, werden viele Systemdateien geändert.
Für 10.10 ist es von synaptic / aptitude nur durch die Installation von python2.7 verfügbar (Sie können auch 3 und 3.1 installieren), aber für 10.04 wird keine Arbeit geleistet, um es für 10.04 herauszufinden.
10.10 hat Python 2.6 als Standard. Entschuldigung, wenn die Antwort nicht positiv war, sondern nur einen Eindruck von den Änderungen vermitteln wollte.
BEARBEITEN - Python 2.7 wurde in Python 2.6 als Standard geändert, da dies in den Kommentaren unten doppelt überprüft wurde. Vielen Dank.
Ich habe gerade 10.10 in der virtuellen Box ausgecheckt, es hat standardmäßig Python 2.6.6, obwohl 2.7-Pakete für Einzelgänger verfügbar sind. Ich denke es ist 11.04, was es als Standard hat. Im Allgemeinen aktualisiere und ändere ich weiterhin Distributionen, überlege mir jedoch, 10.04 beizubehalten, um die langfristige Unterstützung und meine Anpassungen zu gewährleisten.
Crodjer
yep, 11.04 hat seit ein paar Tagen 2.7 per default
easy_install-2.7 -U pip
die Installation der 2.7-Version erzwingen. Aber danke, das ist eine große Hilfe!wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python2.7
. Und dann Pipsudo python2.7 -m easy_install pip
gefolgt von bekommensudo python2.7 -m easy_install --upgrade pip
. Die Option --no-check-certificate war erforderlich, um eine Beschwerde von wget über das SSL-Zertifikat zu umgehen. (Siehe pypi.python.org/pypi/setuptools#unix-wget )Es gibt eine PPA mit Python 2.7 für Ubuntu 10.04. Dies ist möglicherweise sicherer und praktischer als das Erstellen aus der Quelle.
quelle
Dies löste alle möglichen Probleme, die ich hatte: https://stackoverflow.com/questions/7561221/undefined-symbol-pyobject-nextnotimplemented-error-when-loading-psycopg2-modu .
Jetzt
libpython2.7.so.1.0
ist die Verknüpfung zu meinem Python2.7 usw. alles scheint glücklicher zu sein.Das letzte Stück, das ich herausfinden musste, war die
mod_wsgi
Installation. Wenn Sie einfach ausstellen:Dann wird dies für Python2.6 kompiliert :(
Also folgte ich den Anweisungen von Gork-Zope hier .
Ich habe endlich einen funktionierenden Server. Vielen Dank.
quelle
Ich glaube nicht, da es viele der mit der 10.04-Version verbundenen Programme und Bibliotheken ändern muss. Tatsächlich werden viele Arbeiten in Ubuntu mit einer bestimmten Python-Version ausgeführt. Wenn Sie es in Python ändern, werden viele Systemdateien geändert.
Für 10.10 ist es von synaptic / aptitude nur durch die Installation von python2.7 verfügbar (Sie können auch 3 und 3.1 installieren), aber für 10.04 wird keine Arbeit geleistet, um es für 10.04 herauszufinden.
10.10 hat Python 2.6 als Standard. Entschuldigung, wenn die Antwort nicht positiv war, sondern nur einen Eindruck von den Änderungen vermitteln wollte.
BEARBEITEN - Python 2.7 wurde in Python 2.6 als Standard geändert, da dies in den Kommentaren unten doppelt überprüft wurde. Vielen Dank.
quelle