web-dev-qa-db-fra.com

Devrais-je changer mon code Python si je mets à jour Ubuntu?

Je développe un logiciel en Python 3 depuis des années. Jusqu'à présent, j'utilisais Ubuntu Desktop 11.04, mais je souhaite maintenant passer à une version supérieure d'Ubuntu.

Dois-je rester sur Ubuntu 11.04 afin de ne pas avoir à changer de parties du code source de mon logiciel en raison de nouvelles modifications apportées aux versions supérieures d'Ubuntu?

Une version récente d’Ubuntu n’affectera-t-elle pas mon logiciel?

11
user284234

Sur la base de vos commentaires, vous avez testé votre logiciel sur des ordinateurs virtuels, ce qui est une bonne nouvelle.

Mais en tant que développeur d’applications, vous devez être prêt à adapter votre code aux nouvelles versions, sans quoi celui-ci sera rapidement abandonné.

Maintenant, pour vous assurer qu’il continuera à fonctionner avec les nouvelles versions d’Ubuntu, je vous encourage vivement à le conserver sous forme de paquet, à fournir une suite de tests complète à votre application et à l’appeler pendant le processus de construction du paquet (par exemple, en appelant setup.py test _ dans votre section debian/rulesoverride_dh_auto_test).

Vous pouvez facilement configurer versions quotidiennes de votre paquet dans un ppa en utilisant un bzr-builder recette . De cette façon, vous serez averti de tous les problèmes de construction causés par de nouvelles versions de logiciel ou des dépendances brisées.

Les nouvelles versions sont généralement ouvertes au développement quelques jours après l'annonce officielle. Regardez notre page ppa , Utopic fait maintenant partie de la série de distributions que nous construisons pour:

enter image description here

3
Sylvain Pineau

Non, vous ne devriez pas rester sur 11.04. L'assistance est en fin de vie depuis octobre 2012. Si vous souhaitez bénéficier d'une assistance, vous devez mettre à niveau au moins la version 12.04 (qui sera prise en charge pendant trois plusieurs années).

De plus, même les versions les plus récentes d'Ubuntu incluent Python 3.x par défaut, dans le but de supprimer complètement Python 2.x de l'installation par défaut.

Vous pouvez avez des problèmes pour exécuter votre code sous une version plus récente de Python 3.x, mais ne devriez en général pas en rencontrer. En tant que développeur, vous devez également être prêt à traiter de tels problèmes, quelle que soit la version d'Ubuntu sur laquelle vous vous trouvez. Toute bibliothèque que vous utilisez, ou Python lui-même, pourrait comporter un bogue dont le code dépend de manière comportementale. Si ce bogue est corrigé, votre programme pourrait se comporter différemment de la façon dont vous vous attendiez. .

13
dobey

Difficile de donner une réponse définitive sans une description de votre candidature. Comme vous utilisez Python3, au moins, vous n'êtes pas limité par la branche Python2.x (il n'y aura pas de Python 2.8).

Désormais, quelques avertissements pouvant s’appliquer à votre application, avec Python3, de nombreux packages sont désormais obsolètes, car le meilleur moyen d’accéder à GLib/GObject/GIO/GTK + consiste à utiliser Python GObject Introspection (aka PyGI ).

Enfin, il existe encore quelques différences mineures entre les différentes versions de python3 (par exemple, Argparse ne se comporte pas exactement de la même façon avec python 3.2 et 3.3.

Une chose que vous pouvez essayer est de démarrer une 14.04 VM et de tester votre code avec python3.4.

11
Sylvain Pineau

Cela dépend de votre code. Si votre code utilise des bibliothèques non prises en charge, vous ne pouvez pas migrer facilement vers une version plus récente d'un système d'exploitation, mais la plupart du temps aucun problème ne se produira.

2
Ocean

Si vous devez exécuter une ancienne version de Python sur Ubuntu 14.04, activez le référentiel deadsnakes . Il a Python versions 2.3, 2.4, 2.5, 2.6, 3.1, 3.2, 3.3 pour Ubuntu 14.04. Si votre application est du code pur Python et ne dépend pas du comportement des autres processus, elle devrait alors fonctionner correctement sous un ancien interpréteur.

0
bain

Comme autre réponse, vous pouvez utiliser environnement virtuel si vous rencontrez un problème ou si vous pouvez utiliser la même version de python le 11.04 (téléchargez-le et construisez-le) dans 14.04.

0
Ocean

Ubuntu 14.04 a des paquets python3, donc ce n'est pas un problème. apt-cache search python3 vous les montrera. Au-delà de cela, vous devrez lire les notes de publication de chaque version d'Ubuntu entre la version 11.04 et la "version supérieure", et rechercher un changement qui rompra votre application. Ne sachant rien de votre développement, je dois crier YMMV, mais je suppose que vous n'aurez pas de problèmes insurmontables.

0
waltinator