it-swarm.com.de

Wird python2.7 in Zukunft für 10.04 verfügbar sein?

Da Ubuntu 10.04 ein LTS-Release ist, wird es python 2.7 als Standard-Paketverwaltungsversion unterstützen oder wird es in Zukunft mindestens ein python2.7-Paket geben?

Da es sich um die letzte größere Version von python 2.x handelt und diese für 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?.

27
crodjer

Nein, es wird als nicht sicher angesehen, 2.7 als Ihren Python Standardinterpreter 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, d. H. Bugfixes und sicherheitsrelevante Upgrades.

Es ist jedoch absolut sicher, Python2.7 zu verwenden, indem Sie Ihren Interpreter als #!/usr/bin/python2.7 definieren und ihn von Benutzern mithilfe von make altinstall auf der Quelle python neben Python2.6 installieren lassen

16
Stefano Palazzo

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 anzufangen, aber er sollte erweitert werden:

Fügen Sie den PPA zu Ihren Quellen hinzu

Wenn Sie sich in meiner Situation befinden, funktioniert der einfache Rat, add-apt-repository auszuführen, nicht für Sie. Also machen wir das auf die altmodische Art und Weise:

  1. Ö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 Sudo vim /etc/apt/sources.list ausführen).

  2. Gehen Sie zum Ende der Datei (wenn Sie vim verwenden, wechseln Sie in den Einfügemodus, indem Sie i drücken) 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 
    
  3. Speichern und beenden Sie (in vim: geben Sie :wq ein) und kehren Sie zu einer Shell zurück.

  4. Geben Sie Folgendes ein (Sie finden den richtigen Schlüssel bei der PPA ; es ist der Teil nach dem Schrägstrich in den "technischen Details" - stellen Sie sicher, dass Sie den richtigen haben):

    Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DB82666C
    
  5. Geben Sie nun Folgendes ein, um Ihre Quellenliste zu aktualisieren:

    Sudo apt-get update
    

Installieren und konfigurieren Sie Python 2.7

  1. Öffnen Sie eine Shell auf Ihrem Server und geben Sie Folgendes ein:

    Sudo apt-get install python2.7 python2.7-dev
    
  2. Um easy_install zum Laufen zu bringen, rufen Sie das Bootcrap-Skript distribute auf:

    curl -O http://python-distribute.org/distribute_setup.py
    python2.7 distribute_setup.py
    
  3. Schließlich möchten Sie, dass pip und virtualenv funktionieren, wenn Sie vorhaben, etwas Ernsthaftes zu tun:

    easy_install-2.7 pip
    pip-2.7 install virtualenv
    

Einrichten einer virtuellen Umgebung

  1. Erstellen Sie den Ordner für Ihre neue Umgebung und öffnen Sie ihn:

    mkdir my_env && cd my_env
    
  2. 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 .
    
  3. Aktivieren Sie die Umgebung. Sie werden feststellen, dass die Änderungen an der Shell-Eingabeaufforderung die aktive Umgebung widerspiegeln:

    source bin/activate
    
  4. Was auch immer Sie in dieser Shell jetzt tun, die Skripte werden im Ordner bin der virtuellen Umgebung und in den Paketen Python dieser Umgebung verwendet. Denken Sie daran, dass die Option --no-site-packages bedeutet, dass Sie mit dem minimalen Satz von Paketen beginnen (einschließlich pip). Sie müssen also alle Pakete installieren, die Sie benötigen.

  5. 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 Option -E an pip übergeben (z. B. pip install some-package -E /path/to/virtual/environment, um some-package in der virtuellen Umgebung auf dem angegebenen Pfad zu installieren). Denken Sie daran, dass Sie verschiedene Versionen von pip haben, die den verschiedenen installierten Python-Versionen entsprechen.

Es ist eine gute Idee, pip-2.7 zu verwenden, wenn Sie Pakete für Python 2.7 installieren möchten, wenn Sie außerhalb einer virtuellen Umgebung arbeiten (die Option --python=python2.7, die wir an virtualenv übergeben haben, bedeutet Die virtuelle Umgebung verwendet die Python 2.7-Versionen der darin enthaltenen Tools, sodass Sie sich darüber keine Gedanken machen müssen.

41
Alan Plum

Es gibt einen PPA mit Python 2.7 für Ubuntu 10.04. Dies ist möglicherweise sicherer und praktischer als das Erstellen aus der Quelle.

10
Marius Gedminas

Dies löste alle möglichen Probleme, die ich hatte https://stackoverflow.com/questions/7561221/undefined-symbol-pyobject-nextnotimplemented-error-when-loading-psycopg2-mod .

Jetzt ist libpython2.7.so.1.0 mit meinem Python 2.7 usw. verknüpft, alles scheint glücklicher zu sein.

Das letzte Stück, das ich herausfinden musste, war die Installation von mod_wsgi. Wenn Sie einfach ausstellen:

$ apt-get install libapache2-mod-wsgi

Dann wird dies für Python2.6 kompiliert :(

$ ldd /usr/lib/Apache2/modules/mod_wsgi.so

libpython2.6.so.1.0 => /usr/lib/libpython2.6.so.1.0 (0x00178000)

Also folgte ich den Anweisungen von Gork-Zope hier .

Ich habe endlich einen funktionierenden Server. Danke.

2
Naoko

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 in Python 2.6 geändert, da dies in den Kommentaren unten doppelt überprüft wurde. Danke.

1
Luis Alvarado