Python2.7 sera-t-il disponible pour 10.04 à l'avenir?
27
Étant donné qu'Ubuntu 10.04 est une version LTS, prendra-t-il en charge python 2.7 comme version par défaut du responsable du package ou au moins aura-t-il un package python2.7 à l'avenir?
Comme il s'agira de la dernière version majeure de python 2.x et qu'elle est destinée à rester en place pendant longtemps, j'ai décidé de l'utiliser. Je l'ai compilé à partir de la source (après avoir construit des dépôts bien sûr) mais de temps en temps je trouve de petits problèmes.
Est-il sûr de définir mon python 2.7 compilé comme valeur par défaut, car il existe des applications de distribution qui fonctionnent sur python.
Non, il n'est pas considéré comme sûr de définir 2.7 comme votre interprète Python par défaut dans Lucid . Et je ne pense pas que ce sera à l'avenir.
Il n'y a aucune mise à niveau de version majeure d'un logiciel dans une seule version.
Ainsi, python2.7 ne remplacera pas 2.6 comme interpréteur par défaut. Ce type de mise à niveau se fait uniquement entre les versions, au sein d'une seule - en particulier un LTS - il n'y a que des mises à niveau stables, c'est-à-dire des corrections de bugs et des mises à niveau liées à la sécurité.
Cependant, il est parfaitement sûr d'utiliser python2.7, en définissant votre interpréteur #!/usr/bin/python2.7et en demandant aux utilisateurs de l'installer en utilisant make altinstallsur la source python, aux côtés de python2.6
Nous avons eu 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). La réponse de Marius a fait l'affaire pour me lancer, mais elle devrait être développée:
Ajoutez le PPA à vos sources
Si vous êtes dans ma situation, le simple conseil de courir add-apt-repositoryne fonctionnera pas pour vous. Alors faisons-le à l'ancienne:
Ouvrez le fichier /etc/apt/sources.list(vous avez besoin des privilèges root; si vous êtes sur le shell, cela signifie probablement courir sudo vim /etc/apt/sources.list).
Allez jusqu'au bas du fichier (si vous utilisez vim, passez en mode insertion en appuyant sur i) 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
Enregistrez et quittez (dans vim: type :wq) et revenez à un shell.
Entrez les informations suivantes (vous pouvez trouver la bonne clé sur le PPA ; c'est la partie après la barre oblique dans les "détails techniques" - assurez-vous que vous avez obtenu la bonne):
Enfin, vous voulez pipet virtualenvtravaillez si vous prévoyez de faire quelque chose de sérieux:
easy_install-2.7 pip
pip-2.7 install virtualenv
Configuration d'un virtualenv
Créez le dossier de votre nouvel environnement et ouvrez-le:
mkdir my_env && cd my_env
Créez l'environnement virtuel lui-même (le point indique que le répertoire actuel est l'emplacement de l'environnement, remplacez-le par le chemin correct si vous avez sauté l'étape précédente):
virtualenv --no-site-packages --python=python2.7.
Activez l'environnement. Vous remarquerez que l'invite du shell change pour refléter l'environnement actif:
source bin/activate
Quoi que vous fassiez dans ce shell maintenant, vous utiliserez les scripts dans le bindossier de l'environnement virtuel et les packages Python de cet environnement. Gardez à l'esprit que l'option --no-site-packagessignifie que vous commencez avec l'ensemble minimal de packages (y compris pip, cependant), vous devez donc installer tous les packages dont vous aurez besoin.
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 passant l' -Eoption à pip(par exemple, pip install some-package -E /path/to/virtual/environmentpour installer some-packagedans l'environnement virtuel sur le chemin donné). Gardez à l'esprit que vous aurez plusieurs versions différentes de pipcorrespondant aux différentes versions de Python installées.
C'est une bonne idée à utiliser pip-2.7si vous souhaitez installer des packages pour Python 2.7 lorsque vous travaillez en dehors d'un environnement virtuel (l' --python=python2.7option que nous avons passée virtualenvsignifie que l'environnement virtuel utilisera les versions Python 2.7 des outils qu'il fournit, vous n'avez donc pas à vous inquiétez pas).
Dans mon cas, j'avais déjà installé pip pour 2.6, et j'ai dû easy_install-2.7 -U pipforcer l'installation de la version 2.7. Mais merci, c'est d'une grande aide!
Gabe Moothart
2
Pour l'étape 2 sous "Installer et configurer Python 2.7", je devais le faire wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python2.7. Et puis pour obtenir pip sudo python2.7 -m easy_install pipsuivi par sudo python2.7 -m easy_install --upgrade pip. L'option --no-check-certificate était nécessaire pour éviter une plainte de wget concernant le certificat SSL. (Voir pypi.python.org/pypi/setuptools#unix-wget )
zlovelady
10
Il existe un PPA avec Python 2.7 conçu pour Ubuntu 10.04. Cela peut être plus sûr / plus pratique que de construire à partir de la source.
je ne le pense pas, car il devra modifier de nombreux programmes et bibliothèques associés à la version 10.04. En fait, 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 à partir de synaptic / aptitude simplement en installant python2.7 (vous pouvez également installer 3 et 3.1) mais pour 10.04 il n'y a aucun travail pour le faire pour 10.04.
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 - Changement de Python 2.7 en Python 2.6 par défaut car il a été revérifié à partir des commentaires ci-dessous. Merci.
Je viens de vérifier 10.10 dans la boîte virtuelle, il a python 2.6.6 par défaut, bien qu'il y ait 2,7 packages disponibles pour maverick. Je pense que son 11.04 qui l'a par défaut. Je continue généralement à mettre à jour et à changer les distributions, mais j'envisageais de m'en tenir au 10.04, pour son support à long terme et mes personnalisations.
easy_install-2.7 -U pip
forcer l'installation de la version 2.7. Mais merci, c'est d'une grande aide!wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python2.7
. Et puis pour obtenir pipsudo python2.7 -m easy_install pip
suivi parsudo python2.7 -m easy_install --upgrade pip
. L'option --no-check-certificate était nécessaire pour éviter une plainte de wget concernant le certificat SSL. (Voir pypi.python.org/pypi/setuptools#unix-wget )Il existe un PPA avec Python 2.7 conçu pour Ubuntu 10.04. Cela peut être plus sûr / plus pratique que de construire à partir de la source.
la source
Cela a résolu toutes sortes de problèmes que j'avais /programming/7561221/undefined-symbol-pyobject-nextnotimplemented-error-when-loading-psycopg2-modu .
libpython2.7.so.1.0
Est maintenant lié à mon python2.7, etc., tout semble être plus heureux.La dernière pièce dont j'avais besoin pour comprendre était l'
mod_wsgi
installation. Si vous émettez simplement:Ensuite, cela sera compilé pour Python2.6 :(
J'ai donc suivi les instructions fournies par Gork-Zope ici .
J'ai enfin un serveur qui fonctionne. Merci.
la source
je ne le pense pas, car il devra modifier de nombreux programmes et bibliothèques associés à la version 10.04. En fait, 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 à partir de synaptic / aptitude simplement en installant python2.7 (vous pouvez également installer 3 et 3.1) mais pour 10.04 il n'y a aucun travail pour le faire pour 10.04.
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 - Changement de Python 2.7 en Python 2.6 par défaut car il a été revérifié à partir des commentaires ci-dessous. Merci.
la source