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 :

Compatibilité entre Python et Geany !


Sujet :

Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2012
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Compatibilité entre Python et Geany !
    Bonjour,
    En phase d'apprentissage de Python (après avoir appris le Basic en ... 1980), j'utilise l'éditeur Geany, que je trouve pratique pour un débutant.

    Je rencontre, pour l'instant,deux obstacles :
    1) Certaines fonctions ne sont pas reconnues par Geany. Par exemple end=" " génère un message d'erreur ; alors que dans un terminal cela fonctionne.
    2) Pour certaines chaînes de caractères, à l'affichage, les caractères accentués sont remplacés par des symboles comme : "F\xc3\xa9vrier", pour "Février" ; comme ci-dessus, cela fonctionne bien dans un terminal.

    Y aurait-il une déclaration manquante en début de programme ?

    Voici ce qu'il y a en en-tête de programme :
    #! /usr/bin/env python3
    # -*- coding:Utf-8 -*-

    Configuration : LinuxMint 12 sur portable LDLC 17" (récent). Éditeur Geany 0.20 "Disra". Python 3.2.2 installé.

    Merci par avance de vos conseils.

    Augeron

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Pouvez-vous présenter un minimum de code?
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 43
    Points : 67
    Points
    67
    Par défaut
    Je n'ai plus geany sous les yeux, mais je crois bien que le problème vient de la commande qui exécute le script depuis geany. Par defaut, un script python est exécuté avec geany via commande "python" qu'il faut remplacer par "python3" si l'on veut utiliser Python 3.x. Je suis désolé, je ne me rappel plus du menu où l'on peut changer ça.

    Le shebang n'est utile que pour exécuter le script en dehors des IDE (à condition que le script ai les droits en exécution, voir "chmod").

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 048
    Points : 1 378
    Points
    1 378
    Par défaut
    construire/definir les commandes de construction ... changer python "%f" pour python3 "%f"

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2012
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Re : compatibilité Python et Geany
    Citation Envoyé par fred1599 Voir le message
    Pouvez-vous présenter un minimum de code?
    Voilà :

    #! /usr/bin/env python3
    # -*- coding:Utf-8 -*-

    ##############################################################
    # Combinaison de deux listes en une seule :
    ##############################################################

    # Listes fournies au départ :
    ListeDates = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    ListeMois = ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']
    # Nouvelle liste à réaliser (vide au départ) :
    ListeCombinee = [ ]
    # Boucle de traitement :
    i = 0
    while i < len(ListeDates):
    ListeCombinee.append(ListeMois[i])
    ListeCombinee.append(ListeDates[i])
    i = i + 1

    # Affichage :
    print ListeCombinee

    # Remarque personnelle : à l'affichage, les caractères accentués sont remplacés par des symboles comme : "F\xc3\xa9vrier", pour "Février",
    # pour l'instant inexpliqués !

    Il s'agit d'un exercice extrait de "Apprendre à programmer avec Python 3" de Gérard Swinnen.

    Merci pour cette intervention.

    À bientôt.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2012
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Re : Compatibilité Python3 - Geany
    Citation Envoyé par josmiley Voir le message
    construire/definir les commandes de construction ... changer python "%f" pour python3 "%f"
    Excuses-moi mais, où doit-on intervenir pour corriger ? Je n'ai rien trouvé dans les "Préférences" !

    Merci d'avance.

  7. #7
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Si vous ne voulez plus avoir de problèmes avec les accents, utilisez python (version 3)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #! /usr/bin/env python3
    # -*- coding:Utf-8 -*-
     
    ##############################################################
    # Combinaison de deux listes en une seule :
    ##############################################################
     
    # Listes fournies au départ :
     
    ListeDates = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    ListeMois = ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']
     
    # Affichage :
     
    print([(i, j) for i, j in zip(ListeDates, ListeMois)])
    Pour avoir python3, sous ubuntu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo apt-get install python3
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 43
    Points : 67
    Points
    67
    Par défaut
    Pour modifier les préférences propres aux scripts Python, il faut qu'un script Python soit ouvert dans geany.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2012
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Re : Compatibilité Python3 - Geany
    Réponse à Fred1599,

    Merci, mais dans le message d'origine il est précisé que Python 3.2.2 est installé. Et c'est ce qui m'intrigue !

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2012
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par PsycoPy Voir le message
    Pour modifier les préférences propres aux scripts Python, il faut qu'un script Python soit ouvert dans geany.
    Merci. C'est ce que j'ai tenté de faire, précisément quand un script était ouvert !

  11. #11
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Merci, mais dans le message d'origine il est précisé que Python 3.2.2 est installé. Et c'est ce qui m'intrigue !
    Vous avez peut-être python 3 d'installé, mais ça veut pas dire que vous exécutez votre code avec python 3

    Python 2 est d'origine sur les systèmes Unix sauf 1 ou 2.

    Pour exécuter votre code il faut stipuler la version

    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2012
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    Vous avez peut-être python 3 d'installé, mais ça veut pas dire que vous exécutez votre code avec python 3

    Python 2 est d'origine sur les systèmes Unix sauf 1 ou 2.

    Pour exécuter votre code il faut stipuler la version

    Merci pour cette précision. Quand je teste un script édité dans Geany, il me suffit de cliquer, dans la barre d'outils, sur le symbole représenté par un engrenage (Exécuter). Est-ce à dire que cette action n'est pas exécutée par Python3 ; alors que, en-tête de script figure la mention : "#! /usr/bin/env python3" ?

  13. #13
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Aviez-vous déjà exécuté un code python?

    Si non, il faut mettre votre fichier en mode exécution.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chmod 700 mon_fichier.py
    Vous pouvez enfin double cliquer dessus puis run terminal
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 43
    Points : 67
    Points
    67
    Par défaut
    Bon alors, reprenons tout depuis le début, si vous le voulez bien.

    Vous désirez exécuter un script Python 3 depuis l'interface de l'IDE Geany.
    Pour ce faire il faut ouvrir un script Python existant dans Geany, puis, dans le menu "Construire", cliquer sur "Définir les commandes de construction". Une fenêtre s'ouvrira et, dans la section "Commandes d'exécution" (en bas de la fenêtre) il faut modifier la commande "Exécuter" avec cette commande : python3 "%f"

    Le shebang n'est pas utile pour geany. Il permet seulement, une fois le script rendu exécutable comme l'a expliqué fred1599, aux OS de type POSIX (linux, unix, bsd, etc...) de savoir quel programme sert à interpréter le script. Donc, c'est utile, mais pas pour geany.

    En espérant avoir été complet, cette fois-ci.

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2012
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par PsycoPy Voir le message
    Bon alors, reprenons tout depuis le début, si vous le voulez bien.

    Vous désirez exécuter un script Python 3 depuis l'interface de l'IDE Geany.
    Pour ce faire il faut ouvrir un script Python existant dans Geany, puis, dans le menu "Construire", cliquer sur "Définir les commandes de construction". Une fenêtre s'ouvrira et, dans la section "Commandes d'exécution" (en bas de la fenêtre) il faut modifier la commande "Exécuter" avec cette commande : python3 "%f"

    Le shebang n'est pas utile pour geany. Il permet seulement, une fois le script rendu exécutable comme l'a expliqué fred1599, aux OS de type POSIX (linux, unix, bsd, etc...) de savoir quel programme sert à interpréter le script. Donc, c'est utile, mais pas pour geany.

    En espérant avoir été complet, cette fois-ci.
    Merci, c'est l'indication qui me manquait. D'autres erreurs apparaissent à la suite mais je sais ce qui les provoquent et je pourrais les corriger (histoire de parenthèses).

    Merci encore à tous de l'attention que vous avez porté à cette demande.

    Bonne journée.

  16. #16
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Citation Envoyé par AndreuMichel Voir le message
    Merci pour cette précision. Quand je teste un script édité dans Geany, il me suffit de cliquer, dans la barre d'outils, sur le symbole représenté par un engrenage (Exécuter). Est-ce à dire que cette action n'est pas exécutée par Python3 ; alors que, en-tête de script figure la mention : "#! /usr/bin/env python3" ?
    La shebang line n'est utilisée que lorsqu'on exécute le script directement. Si on donne le script en argument à un programme, ce dernier ne regardera pas la shebang line pour savoir quel interpréteur utiliser, puisque tu viens de dire que tu veux l'utiliser lui à la place

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compatibilité entre Python et Python XY
    Par Timeflyer dans le forum Calcul scientifique
    Réponses: 3
    Dernier message: 09/02/2014, 12h13
  2. [FB] Compatibilité entre deux logiciels et le SGBD
    Par Benjamin GAGNEUX dans le forum Débuter
    Réponses: 13
    Dernier message: 28/01/2005, 16h30
  3. Problèmes de compatibilité entre sdk 9.0c et geforce 2/4
    Par Francky033 dans le forum DirectX
    Réponses: 2
    Dernier message: 01/10/2004, 14h22
  4. compatibilité entre sql server 7 et analysis service sql2000
    Par jeremie dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/03/2004, 15h08
  5. compatibilite entre omondo et cvs
    Par ed_hunter dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 03/11/2003, 16h06

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