web-dev-qa-db-fra.com

Est-ce que python2.7 sera disponible pour la version 10.04 à l'avenir?

Étant donné qu'Ubuntu 10.04 est une version LTS, supportera-t-il python 2.7 en tant que version par défaut du mainteneur du paquet ou aura-t-il au moins un paquet python2.7 à l'avenir?

S'agissant de la dernière version majeure de python 2.x et destinée à rester en place longtemps, j'ai décidé de l'utiliser. Je l'ai compilé à partir de la source (après la construction dépend bien sûr) mais de temps en temps je trouve de petits problèmes.

Est-il prudent de définir mon python 2.7 compilé comme valeur par défaut, car certaines applications de distribution fonctionnent avec python.

27
crodjer

Non, il n'est pas considéré comme sûr de définir 2.7 comme interprète Python par défaut dans Lucid . Et je ne pense pas que ce sera dans le futur.

  • Il n'y a pas de mise à niveau majeure de la version d'un logiciel dans une version.

    Donc, python2.7 ne remplacera pas 2.6 comme interpréteur par défaut. Ce type de mise à niveau n’est effectué que d’une version à l’autre, et notamment d’une LTS, mais il n’existe que des mises à niveau de versions stables, c’est-à-dire des corrections de bogues et des mises à niveau liées à la sécurité.

Cependant, il est parfaitement sûr d’utiliser python2.7, de définir votre interprète comme étant #!/usr/bin/python2.7 et de le faire installer par les utilisateurs à l’aide de make altinstall sur la source python, aux côtés de python2.6.

16
Stefano Palazzo

Avait le même problème avec un VPS qui ne peut pas être mis à niveau vers Maverick (même les nouvelles images LTS ne sont pas toujours disponibles à temps). réponse de Marius a fait le tour pour que je puisse commencer, mais il convient de l'étendre:

Ajoutez le PPA à vos sources

Si vous êtes dans ma situation, le simple conseil d’exécuter add-apt-repository ne fonctionnera pas pour vous. Faisons donc cela à l'ancienne:

  1. Ouvrez le fichier /etc/apt/sources.list (vous avez besoin des privilèges root; si vous êtes sur le shell, cela signifie probablement que vous exécutez Sudo vim /etc/apt/sources.list).

  2. Allez tout en bas du fichier (si vous utilisez vimname__, passez en mode insertion en appuyant sur iname__) et ajoutez les lignes suivantes:

    deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main 
    deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main 
    
  3. Enregistrez et quittez (dans vimname__: tapez :wq) et revenez à un shell.

  4. Entrez ce qui suit (vous pouvez trouver la bonne clé à l’APP ; c’est la partie après la barre oblique dans les "détails techniques" - assurez-vous d’avoir la bonne):

    Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DB82666C
    
  5. Maintenant, entrez ce qui suit pour mettre à jour votre liste de sources:

    Sudo apt-get update
    

Installer et configurer Python 2.7

  1. Ouvrez un shell sur votre serveur et entrez les informations suivantes:

    Sudo apt-get install python2.7 python2.7-dev
    
  2. Pour que easy_install fonctionne, procurez-vous le script distributebootscrap:

    curl -O http://python-distribute.org/distribute_setup.py
    python2.7 distribute_setup.py
    
  3. Enfin, vous voulez que pipet virtualenvfonctionnent si vous prévoyez de faire quelque chose de grave:

    easy_install-2.7 pip
    pip-2.7 install virtualenv
    

Mettre en place une virtualenv

  1. Créez le dossier pour votre nouvel environnement et ouvrez-le:

    mkdir my_env && cd my_env
    
  2. Créez l'environnement virtuel lui-même (le point indique que le répertoire en cours est l'emplacement de l'environnement, remplacez-le par le chemin correct si vous avez ignoré l'étape précédente):

    virtualenv --no-site-packages --python=python2.7 .
    
  3. Activer l'environnement. Vous remarquerez que les modifications de l'invite du shell reflètent l'environnement actif:

    source bin/activate
    
  4. Quoi que vous fassiez dans ce shell maintenant, vous utiliserez les scripts du dossier binde l'environnement virtuel et des packages Python de cet environnement. Gardez à l'esprit que l'option --no-site-packages signifie que vous commencez avec un ensemble minimal de packages (y compris pipname__, cependant), vous devez donc installer tous les packages dont vous avez besoin.

  5. Lorsque vous avez terminé, désactivez l'environnement (il s'agit d'une commande reconnue par l'environnement actif):

    deactivate
    

Vous pouvez également installer des packages dans l'environnement virtuel en transmettant l'option -E à pip(par exemple pip install some-package -E /path/to/virtual/environment pour installer some-package dans l'environnement virtuel sur le chemin indiqué). N'oubliez pas que vous aurez plusieurs versions de pipcorrespondant aux différentes versions de Python installées.

C'est une bonne idée d'utiliser pip-2.7 si vous souhaitez installer des packages pour Python 2.7 lorsque vous travaillez en dehors d'un environnement virtuel (l'option --python=python2.7 que nous avons transmise à virtualenvsignifie que l'environnement virtuel utilisera le Python. Versions 2.7 des outils qu’il fournit, vous n’aurez donc pas à vous en soucier).

41
Alan Plum

Il y a un PPA avec Python 2.7 construit pour Ubuntu 10.04. Cela peut être plus sûr/plus pratique que de construire à partir de la source.

10
Marius Gedminas

Cela a résolu toutes sortes de problèmes que je rencontrais https://stackoverflow.com/questions/7561221/undefined-symbol-pyobject-nextnotimplemented-error-when-load-psycopg2-mod .

Maintenant, libpython2.7.so.1.0 est lié à mon python2.7, etc., tout semble être plus heureux.

La dernière pièce que je devais comprendre était mod_wsgi installation. Si vous émettez simplement:

$ apt-get install libapache2-mod-wsgi

Ensuite, cela sera compilé pour Python2.6 :(

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

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

J'ai donc suivi les instructions fournies par Gork-Zope ici .

J'ai enfin un serveur de travail. Je vous remercie.

2
Naoko

je ne le pense pas, car il faudra modifier de nombreux programmes et bibliothèques associés à la version 10.04. En réalité, une grande partie du travail dans Ubuntu est réalisée à l'aide d'une version spécifique de python. Le changer en python changerait beaucoup de fichiers système.

Pour 10.10, il est disponible depuis synaptic/aptitude simplement en installant python2.7 (vous pouvez également installer 3 et 3.1), mais pour 10.04, aucun travail n’a été effectué pour le rendre à l’extérieur.

10.10 a python 2.6 par défaut. Désolé si la réponse n'était pas positive mais je voulais juste vous donner une idée des changements.

EDIT - Changé Python 2.7 en Python 2.6 par défaut car il a été vérifié deux fois à partir des commentaires ci-dessous. Je vous remercie.

1
Luis Alvarado