# Geany : configurer pour python 3.x

**URL:** <https://www.debian-fr.org/t/geany-configurer-pour-python-3-x/66442>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 9:47 UTC](https://www.debian-fr.org/t/geany-configurer-pour-python-3-x/66442 "2016-02-21T21:47:08Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Papy\_Octet](https://www.debian-fr.org/user_avatar/www.debian-fr.org/papy_octet/32/8503_2.png) [@Papy\_Octet](https://www.debian-fr.org/u/Papy_Octet)\
**Post date:** [Février 21, 2016, 9:47 UTC](https://www.debian-fr.org/t/geany-configurer-pour-python-3-x/66442/1 "2016-02-21T21:47:08Z")

</div>

Bonjour,

J’utilise un peu geany pour écrire quelques petits «&nbsp;trucs&nbsp;» en python.  
J’ai installé sur ma machine python 3.2 en plus de python 2 et 2.7 déjà installés.

Seulement voilà, quand je travaille avec geany, je veux créer des fichiers en python 3.2 et donc, comme naturellement, j’ajoute les entêtes :

```auto
#!/usr/bin/python3.2
# -*- coding: Utf-8 -*-
```

devant mon code. Et là … patatras, geany compile en python 2 ![:013](https://www.debian-fr.org/uploads/default/original/1X/086709e9e4d48f0fa24e42243bbce857fc2be47f.gif "colere") et ne tient pas compte de l’entête 😠  
Je vérifie la présence de python 3 dans /usr/bin et c’est OK. Mais geany refuse encore de l’utiliser. J’ai remarqué ce refus en utilisant une commande de python3 :

```auto
...
print (factRec(5), end=';')
...
```

Il y a une erreur avec "end=‹&nbsp;&nbsp;› !

J’ai cherché et … trouve un moyen de faire travailler geany avec python 3.2 :  
Je vais dans le répertoire «&nbsp;/usr/share/geany/&nbsp;» et j’ouvre comme administrateur le fichier de configuration de geany «&nbsp;filetypes.python&nbsp;»

Dans ce fichier, tout en bas, je commente les deux dernières lignes :

> [@](#):
>
> [build\_settings]
> 
> # %f will be replaced by the complete filename
> 
> # %e will be replaced by the filename without extension
> 
> # (use only one of it at one time)
> 
> #compiler=python -m py\_compile «&nbsp;%f&nbsp;»  
> #run\_cmd=python «&nbsp;%f&nbsp;»

puis j’ajoute les deux lignes suivantes en-dessous des deux lignes que je viens de commenter :

> [@](#):
>
> compiler=python3 -c «&nbsp;import py\_compile; py\_compile.compile(‹&nbsp;%f&nbsp;›)&nbsp;»  
> run\_cmd=python3 «&nbsp;%f&nbsp;»

J’enregistre le fichier et … retour dans geany.  
Maintenant, ça fonctionne bien en python 3.2.

Merci [Alex Kollar](http://terminalobsession.blogspot.be/2012/06/how-to-get-geany-to-use-python3-as-its.html) ![:041](https://www.debian-fr.org/uploads/default/original/1X/bfe857c9119752799c3eac55ca37a50312c51282.gif "applaudit")

---

<div class="post-metadata">

**Author:** ![Arnaud](https://www.debian-fr.org/user_avatar/www.debian-fr.org/arnaud/32/4098_2.png) [@Arnaud](https://www.debian-fr.org/u/Arnaud)\
**Post date:** [Février 21, 2016, 9:47 UTC](https://www.debian-fr.org/t/geany-configurer-pour-python-3-x/66442/2 "2016-02-21T21:47:08Z")

</div>

Ou plus simplement, cela se configure dans Construire --\> Définir les commandes de construction.

---

<div class="post-metadata">

**Author:** ![N3mesis98](https://www.debian-fr.org/user_avatar/www.debian-fr.org/n3mesis98/32/3002_2.png) [@N3mesis98](https://www.debian-fr.org/u/N3mesis98)\
**Post date:** [Février 21, 2016, 9:47 UTC](https://www.debian-fr.org/t/geany-configurer-pour-python-3-x/66442/3 "2016-02-21T21:47:09Z")

</div>

> [@Arnaud\_](#):
>
> Ou plus simplement, cela se configure dans Construire → Définir les commandes de construction.

Tout a fait, du coup tu as deux choix :

- soit tu change la commande d’exécution en [mono]python3 «&nbsp;%f&nbsp;»[/mono] et donc tu force l’utilisation de python3 pour tout les scripts python
- soit tu met la commande [mono]./%f%[/mono] qui tiendra alors compte du shabang de tes fichiers python pour déterminer quelle version utiliser.

Au passage, %f est remplacé par le nom de ton fichier avec extension (cf file:///usr/share/doc/geany/html/index.html#substitutions-in-commands-and-working-directories).

EDIT:  
Plus visuel pour retrouver ses petits dans l’interface :  
 ![](http://img110.xooimage.com/files/1/9/e/screenshot-from-2...18-02-35-4c11ff9.png)  
Accessible depuis «&nbsp;build \> set build commands&nbsp;».

---

<div class="post-metadata">

**Author:** ![Papy\_Octet](https://www.debian-fr.org/user_avatar/www.debian-fr.org/papy_octet/32/8503_2.png) [@Papy\_Octet](https://www.debian-fr.org/u/Papy_Octet)\
**Post date:** [Février 21, 2016, 9:47 UTC](https://www.debian-fr.org/t/geany-configurer-pour-python-3-x/66442/4 "2016-02-21T21:47:09Z")

</div>

Je dois bien avouer que les différents sites concernant geany m’ont laissé dans l’incompréhension totale des informations de configurations. Ça a l’air tellement complexe que j’ai préféré utiliser la méthode que j’ai utilisée même si je ne comprends pratiquement rien à la “phrase” du code.

Merci pour vos infos.

---

<div class="post-metadata">

**Author:** ![Arnaud](https://www.debian-fr.org/user_avatar/www.debian-fr.org/arnaud/32/4098_2.png) [@Arnaud](https://www.debian-fr.org/u/Arnaud)\
**Post date:** [Février 21, 2016, 9:47 UTC](https://www.debian-fr.org/t/geany-configurer-pour-python-3-x/66442/5 "2016-02-21T21:47:09Z")

</div>

%f est une variable interne à geany qui désigne le fichier en cours d’édition.

---

<div class="post-metadata">

**Author:** ![Papy\_Octet](https://www.debian-fr.org/user_avatar/www.debian-fr.org/papy_octet/32/8503_2.png) [@Papy\_Octet](https://www.debian-fr.org/u/Papy_Octet)\
**Post date:** [Février 21, 2016, 9:47 UTC](https://www.debian-fr.org/t/geany-configurer-pour-python-3-x/66442/6 "2016-02-21T21:47:11Z")

</div>

Bonjour,

Est-il possible, avec geany, d’exécuter le programme pas-à-pas et/ou selon des points d’arrêt ?

Merci.

---

<div class="post-metadata">

**Author:** ![N3mesis98](https://www.debian-fr.org/user_avatar/www.debian-fr.org/n3mesis98/32/3002_2.png) [@N3mesis98](https://www.debian-fr.org/u/N3mesis98)\
**Post date:** [Février 21, 2016, 9:47 UTC](https://www.debian-fr.org/t/geany-configurer-pour-python-3-x/66442/7 "2016-02-21T21:47:11Z")

</div>

Il y a le plugin geany-debugger, mais il ne semble gérer que GDB pour l’instant : [github.com/geany/geany-plugins/ … r/debugger](https://github.com/geany/geany-plugins/tree/master/debugger)  
En revanche il y a peut être ceci : [code.google.com/p/geanypdb/](https://code.google.com/p/geanypdb/)

---

<div class="post-metadata">

**Author:** ![Papy\_Octet](https://www.debian-fr.org/user_avatar/www.debian-fr.org/papy_octet/32/8503_2.png) [@Papy\_Octet](https://www.debian-fr.org/u/Papy_Octet)\
**Post date:** [Février 21, 2016, 9:47 UTC](https://www.debian-fr.org/t/geany-configurer-pour-python-3-x/66442/8 "2016-02-21T21:47:24Z")

</div>

Merci N3mesis98.  
Je vais regarder cela.

A+
