IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Dernières versions et versions stable de Python, et échec import


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2022
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2022
    Messages : 20
    Par défaut Dernières versions et versions stable de Python, et échec import
    Bonjour
    J'ai installé Python 3.11 dans un environnement virtuel, sur une autre machine que celle où se trouve déjà Python 3.8. J'ai aussi installé Bottle 0.12.19 (sur l'autre machine, j'ai Bottle 0.12.7).
    Voici le problème en voulant importer bottle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> import bottle
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/Users/chatelain/blog/librerie/lib/python3.11/site-packages/bottle.py", line 44, in <module>
        from inspect import getargspec
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ImportError: cannot import name 'getargspec' from 'inspect' (/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/inspect.py)
    Je ne crois pas que ça vienne de Bottle, car tous mes bottle.py ont la même ligne 44. On dirait que le python 3.11 connaît pas ce module inspect que Python 3.8 connaît.
    Voilà. Est-ce que je devrais désinstaller 3.11 et mettre 3.8 à la place ? J'ai vu que les versions avaient un statut relatif à leurs stabilité. "security" pour 3.8, "bugfix" (oh que j'aime pas ça !) pour 3.9 et 3.10. Même pas question de 3.11 !

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 603
    Par défaut
    Bonjour,

    Python 3.11 est toujours en développement.

    La dernière version stable (pour Windows) est la 3.10.2.

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 714
    Par défaut
    Salut,

    La version 3.11 de Python est encore en tests. Je ne l'utiliserais pas pour faire de la production mais pour tester des fonctionnalités qui intéressement après avoir lu le "releases notes". Celui ci mentionne la disparition de getargspec du module inspect et son remplacement par signature (getargspec est "déprécated" depuis la 3.0).

    Est-ce que je devrais désinstaller 3.11 et mettre 3.8 à la place ? J'ai vu que les versions avaient un statut relatif à leurs stabilité. "security" pour 3.8, "bugfix" (oh que j'aime pas ça !) pour 3.9 et 3.10. Même pas question de 3.11 !
    Lorsqu'on développe, on choisit une version (y compris pour les bibliothèques externes) et on essaie de s'y tenir. Si le développement prend trop de temps, on peut tenter une migration (ça dépend de la fiabilité et de la couverture fonctionnelle des tests)... Mais dans les "vrais" projet, c'est un risque qui pourra prendre un temps qu'on ne sait pas quantifier à l'avance: si on s'est engagé sur un prix forfaitaire, on risque d'aller au bouillon.

    Quand on bricole pour son plaisir, on fait un peu ce qu'on veut... puisque le temps à passer pour en supporter les conséquences est "gratuit" (mais on assume...).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2022
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2022
    Messages : 20
    Par défaut
    Merci, Arioch et Wiztricks.

    En effet, le temps compte et coûte ! Moi je travaille pour moi, c'est vrai que je peux me permettre de flâner. Je suppose qu'étant donné le niveau des questions que je pose, nul ici n'imagine que je suis développeur professionnel. Je retiens votre conseil de se tenir à une version. Il me paraît tout à fait logique et pertinent. En fait, je n'en suis qu'au début ! Je peux donc encore sans tout chambouler changer ma version. Mais je crois que je vais pas le faire, car d'après le site python, pour mac, la dernière version stable est encore 3.8.

    Mais il me faut retirer le 3.11. C'était une erreur, en effet. Je n'ai pas trouvé sur python.org des instructions relatives à la désinstallation. Est-ce que je peux me contenter de supprimer le dossier python 3.11 dans Applications, et de charger 3.8 ensuite ?

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 714
    Par défaut
    Citation Envoyé par meslier Voir le message
    Est-ce que je peux me contenter de supprimer le dossier python 3.11 dans Applications, et de charger 3.8 ensuite ?
    Tout dépend de comment vous l'avez installé (en principe ça vient avec une procédure de desinstall à suivre plutôt qu'oublier de détruire...). Après c'est pas parce que vous avez installé 3.11 que vous êtes obligé de l'utiliser (ne pas l'utiliser pour faire certains travaux...) puisque normalement on peut avoir plusieurs versions sur la machine.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 603
    Par défaut
    3.10.2 pour la plus récente version stable pour MacOS

    https://www.python.org/downloads/macos/

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2022
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2022
    Messages : 20
    Par défaut
    @Arioch. En effet, je vais donc essayer 3.10.2.
    @wiztricks, je pensais qu'il fallait une seule version installée. Donc je peux installer la version à côté de celle existante. Mais si j'ai les deux, laquelle démarre quand je tape "python3", ou quand je lance un .py ?

  8. #8
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 306
    Par défaut
    Salut,

    Tu dis que tu as installé la 3.11 dans un environnement virtuel, et bien refais de même avec la 3.10.

    Ce HOW-TO pour Linux devrait être valable pour IOS:
    https://www.developpez.net/forums/d1...ls-sous-linux/

  9. #9
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 714
    Par défaut
    Citation Envoyé par meslier Voir le message
    Mais si j'ai les deux, laquelle démarre quand je tape "python3", ou quand je lance un .py ?
    Apprenez à gérer votre environnement système. OSX n'est pas Linux et Windows, c'est encore autre chose.
    En général, ça se fait via des variables d'environnement ou des liens symboliques sur les fichiers.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  10. #10
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2022
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2022
    Messages : 20
    Par défaut
    @VinsS. Oups ! J'ai dit une ânerie. C'est bottle que j'ai installé dans un environnement virtuel destiné à mon projet, sur la deuxième machine. Python, sur chacune des machines, est dans le dossier Applications. Donc du coup, je vais l'y laisser et installer la nouvelle version dans mon environnement virtuel.
    Je me suis servi du programme d'installation reçu en .pkg. Il me propose applications (avec un alias). J'espère que je vais savoir le mettre ailleurs ! Je vous tiendrai au courant. Merci pour votre aide.

  11. #11
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2022
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2022
    Messages : 20
    Par défaut
    Bonjour !
    Me revoilà, toujours en panne. J'ai installé Pythons 3.10.2 et bottle 0.12.19. Cette fois-ci, l'importation de bottle passe, mais quand je lance ce petit script, il y a un message d'erreur. Je me demande s'il faut pas revenir à python 3.8. Cependant, la page s'affiche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    import bottle
    @bottle.route('/salut')
    def salut():
        return  'Salut les gonziers !' 
    bottle.run(host='localhost', port=8080, debug=True)
    Voici le message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <frozen importlib._bootstrap>:914: ImportWarning: _ImportRedirect.find_spec() not found; falling back to find_module()
    est bien définie dans Bottle, que ce soit la version 0.12.19 ou la 0.12.7, mais nulle part ne se trouve une méthode find_spec(). Qui de plus n'est jamais appelée dans Bottle, donc qui doit l'être ailleurs, mais où ?

    Par ailleurs, mais ça le faisait déjà avant sous python 3.8 et bottle 12.7, quand j'arrête le serveur, j'ai ce message là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ^C(librerie) octobre:librerie octobre$ sys:1: ResourceWarning: unclosed <socket.socket fd=4, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('0.0.0.0', 8080)>
    ResourceWarning: Enable tracemalloc to get the object allocation traceback

  12. #12
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 714
    Par défaut
    Citation Envoyé par meslier Voir le message
    Me revoilà, toujours en panne. J'ai installé Pythons 3.10.2 et bottle 0.12.19. Cette fois-ci, l'importation de bottle passe, mais quand je lance ce petit script, il y a un message d'erreur. Je me demande s'il faut pas revenir à python 3.8. Cependant, la page s'affiche.
    Si votre code fonctionne en 3.8, vous n'êtes pas en panne...
    Après migrer sur 3.10 ou 3.11 reste une migration avec ses problèmes (et des recherches sur Internet avec le message d'erreur pour voir de quoi il en retourne) à résoudre avant d'y aller.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Python 2.7.18 est disponible, la dernière version de la branche 2.x
    Par Bill Fassinou dans le forum Général Python
    Réponses: 1
    Dernier message: 21/04/2020, 16h05
  2. [Python 3.8.1] ne voit pas la dernière version installée de sqlite3
    Par Guilmo dans le forum Déploiement/Installation
    Réponses: 1
    Dernier message: 14/01/2020, 13h45
  3. Réponses: 0
    Dernier message: 18/07/2019, 11h36
  4. dernière version stable de mysql
    Par PAYASS59 dans le forum Installation
    Réponses: 2
    Dernier message: 02/02/2010, 18h32
  5. dernière version stable d'axis
    Par mlequim dans le forum Services Web
    Réponses: 4
    Dernier message: 16/06/2006, 16h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo