Python2.7 sarà disponibile per 10.04 in futuro?


27

Poiché Ubuntu 10.04 è una versione LTS supporterà python 2.7 come versione del manutentore del pacchetto predefinito o almeno avrà un pacchetto python2.7 in futuro?

Dal momento che sarà l'ultima versione importante di Python 2.x e che è destinata a rimanere sul posto per molto tempo, ho deciso di usarla. L'ho compilato dalla fonte (dopo aver creato deps ovviamente) ma ogni tanto trovo piccoli problemi.

È sicuro definire il mio Python 2.7 compilato come predefinito, poiché ci sono alcune applicazioni di distribuzione che funzionano su Python.

Risposte:


16

No, non è considerato sicuro definire 2.7 come interprete Python predefinito in Lucid . E non penso che sarà in futuro.

  • Non ci sono importanti aggiornamenti di versione di alcun software in una versione.

    Quindi python2.7 non sostituirà 2.6 come interprete predefinito. Questo tipo di aggiornamento viene eseguito solo tra le versioni, all'interno di una - in particolare un LTS - esistono solo i cosiddetti aggiornamenti di versione stabili, ovvero correzioni di bug e aggiornamenti relativi alla sicurezza.

Tuttavia, è perfettamente sicuro usare python2.7, definendo il tuo interprete #!/usr/bin/python2.7e facendo in modo che gli utenti lo installino usando make altinstallsul sorgente python, insieme a python2.6


41

Ha avuto lo stesso problema con un VPS che non può essere aggiornato a Maverick (anche le nuove immagini LTS non sono sempre rese disponibili in tempo). La risposta di Marius ha fatto il trucco per farmi iniziare, ma dovrebbe essere estesa su:

Aggiungi il PPA alle tue fonti

Se sei nella mia situazione, il semplice consiglio di correre add-apt-repositorynon funzionerà per te. Quindi facciamolo alla vecchia maniera:

  1. Apri il file /etc/apt/sources.list(hai bisogno dei privilegi di root; se sei sulla shell, questo probabilmente significa che è in esecuzione sudo vim /etc/apt/sources.list).

  2. Vai fino alla fine del file (se in uso vim, passa alla modalità di inserimento premendo i) e aggiungi le seguenti righe:

    deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main 
    deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main 
  3. Salva ed esci (in vim: tipo :wq) e torna a una shell.

  4. Immettere quanto segue (è possibile trovare la chiave corretta nel PPA ; è la parte dopo la barra nei "dettagli tecnici" - assicurarsi di aver ottenuto quella giusta):

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DB82666C
  5. Ora inserisci quanto segue per aggiornare l'elenco delle fonti:

    sudo apt-get update

Installa e configura Python 2.7

  1. Apri una shell sul tuo server e inserisci quanto segue:

    sudo apt-get install python2.7 python2.7-dev
  2. Per easy_installfunzionare, distributescarica lo script bootscrap:

    curl -O http://python-distribute.org/distribute_setup.py
    python2.7 distribute_setup.py
  3. Infine, vuoi pipe virtualenvlavorare se prevedi di fare qualcosa di serio:

    easy_install-2.7 pip
    pip-2.7 install virtualenv

Configurare un virtualenv

  1. Crea la cartella per il tuo nuovo ambiente e aprila:

    mkdir my_env && cd my_env
  2. Creare l'ambiente virtuale stesso (il punto indica che la directory corrente è la posizione dell'ambiente, sostituirla con il percorso corretto se si è saltato il passaggio precedente):

    virtualenv --no-site-packages --python=python2.7 .
  3. Attiva l'ambiente. Noterai che le modifiche al prompt della shell riflettono l'ambiente attivo:

    source bin/activate
  4. Qualunque cosa tu faccia in questa shell ora userà gli script nella bincartella dell'ambiente virtuale e i pacchetti Python di quell'ambiente. Tieni presente che l'opzione --no-site-packagessignifica che stai iniziando con il set minimo di pacchetti (incluso pip, tuttavia), quindi devi installare tutti i pacchetti di cui hai bisogno.

  5. Al termine, disattivare l'ambiente (questo è un comando riconosciuto dall'ambiente attivo):

    deactivate

È inoltre possibile installare i pacchetti nell'ambiente virtuale passando l' -Eopzione pip(ad es. pip install some-package -E /path/to/virtual/environmentPer installare some-packagel'ambiente virtuale sul percorso indicato). Tieni presente che avrai diverse versioni di pipcorrispondenti alle diverse versioni di Python installate.

È una buona idea usare pip-2.7se si desidera installare pacchetti per Python 2.7 quando si lavora al di fuori di un ambiente virtuale (l' --python=python2.7opzione a cui siamo passati virtualenvsignifica che l'ambiente virtuale utilizzerà le versioni Python 2.7 degli strumenti che fornisce, quindi non è necessario preoccuparsene).


1
Nel mio caso avevo già installato pip per 2.6 e ho dovuto easy_install-2.7 -U pipforzare l'installazione della versione 2.7. Ma grazie, questo è di grande aiuto!
Gabe Moothart,

2
Per il passaggio 2 in "Installa e configura Python 2.7" ho dovuto fare wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python2.7. E poi per ottenere pip sudo python2.7 -m easy_install pipseguito da sudo python2.7 -m easy_install --upgrade pip. L'opzione --no-check-certificate era necessaria per superare un reclamo di wget sul certificato SSL. (Vedi pypi.python.org/pypi/setuptools#unix-wget )
zlovelady,


2

Ciò ha risolto ogni sorta di problema che stavo riscontrando /programming/7561221/undefined-symbol-pyobject-nextnotimplemented-error-when-loading-psycopg2-modu .

Ora libpython2.7.so.1.0si collega al mio python2.7 ecc. Tutto sembra essere più felice.

L'ultimo pezzo che dovevo capire era l' mod_wsgiinstallazione. Se emetti semplicemente:

$ apt-get install libapache2-mod-wsgi

Quindi questo sarà compilato per Python2.6 :(

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

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

Quindi ho seguito le istruzioni fornite da Gork-Zope qui .

Finalmente ho un server funzionante. Grazie.


1

non credo, dal momento che dovrà cambiare molti dei programmi e delle librerie associati alla versione 10.04. In realtà gran parte del lavoro in Ubuntu viene realizzato utilizzando una versione specifica di Python. Modificandolo in Python cambierebbe molti file di sistema.

Per 10.10 è disponibile da synaptic / aptitude semplicemente installando python2.7 (puoi anche installare 3 e 3.1) ma per 10.04 non c'è lavoro fatto per uscirne per 10.04.

10.10 ha Python 2.6 come predefinito. Scusate se la risposta non è stata positiva, ma volevo solo darvi un'idea delle modifiche.

EDIT - Modificato Python 2.7 in Python 2.6 come predefinito poiché è stato ricontrollato dai commenti qui sotto. Grazie.


Ho appena estratto 10.10 in virtual box, ha Python 2.6.6 di default, anche se ci sono 2.7 pacchetti disponibili per Maverick. Penso che sia il 11.04 che lo ha come predefinito. In genere continuo ad aggiornare e cambiare le distro ma stavo considerando di attenermi al 10.04, per il suo supporto a lungo termine e le mie personalizzazioni.
Crodjer,

sì, l'11.04 ha 2,7 per impostazione predefinita da qualche giorno
Stefano Palazzo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.