Pages : 1
#1 Le 08/05/2017, à 17:37
- Usharn
uft8 / gedit
Bonjour,
je m'initie à python, et je ne parviens pas a faire en sorte que l'encodage uft8 reste actif à chaque création de nouveau script dans gedit.
Pourtant quand j'enregistre mon fichier sur le bureau le "codage de caracteres est bien locale actuelle (uft-8)"
que dois-je faire pour que mon terminal puisse prendre en compte l'encodage à chaque fois ?
je suis sur python 2.7.13 dois-je passer en 3.4... ?
Merci
Hors ligne
#2 Le 09/05/2017, à 19:13
- fred62
Re : uft8 / gedit
Je te conseille d'utiliser geany plutot que gedit pour coder en python
oui , la version 3.4 (voire 3.5) est plus d'actualité
Bon codage ;-)
Dernière modification par fred62 (Le 09/05/2017, à 19:23)
Hors ligne
#3 Le 10/05/2017, à 14:54
- Bruno Letat
Re : uft8 / gedit
Bonjour,
pour répondre à ta question Usharn, si tu démarres d'abord gEdit puis ensuite que tu ouvres un fichier avec gEdit (et pas directement depuis le gestionnaire de fichiers) en laissant l'encodage en mode "détection auto", tu ne seras pas embêté, il détectera bien la version utf-8.
La version installée sur mon poste est la 3.22 sur Xubuntu 17.04 mais je pense que ça ne doit pas changer beaucoup avec les versions antérieures.
A bientôt,
Bruno
Hors ligne
#4 Le 10/05/2017, à 15:31
- MicP
Re : uft8 / gedit
Bonjour
En lisant le message de Usharn, je n'ai pas réussi à comprendre ce qui pourrait avoir indiqué que le fichier créé ne l'a pas été en UTF-8
Comment sais-tu que le fichier créé (script ou autre) en utilisant gedit n'est pas en UTF-8 ?
Hors ligne
#5 Le 10/05/2017, à 15:40
- pingouinux
Re : uft8 / gedit
Bonjour,
C'est peut-être python qui râle à l'exécution. Dans ce cas, les deux premières lignes du script doivent être :
#!/usr/bin/python
# -*- coding: utf-8 -*-
Hors ligne
#6 Le 11/05/2017, à 09:16
- Usharn
Re : uft8 / gedit
Que de reponses , merci
alors:
@ fred62 : j'y avais penser et en allant dans la documentation de ubuntu je suis tombé sur ça : "Ne fonctionne plus sous Xenial 16.04. Provoque des erreurs de niveau de sécurité des clés pour les autres dépôts présents sur le système. FIXME "
donc je ne suis pas allé plus loin.
@ Bruno : Si je cree un script comportant des accents dans gedit et que je l'enregistre sous mon bureau par exemple avec un codage de caractère "locale actuelle (uft-8). A chaque fois que je le lance dans un terminal, j'aurais systématiquement une non exécution du programme avec un code erreur.
@ pingouinux : je suis effectivement tombé sur un site qui me proposait cette ligne de script et je comfirme que c'est la seule fois ou cela n'a pas mis de messages d'erreur - y-a -il un moyen de contourner cette manip ( passer à la version python peut etre ) ? , parce que quand je suis des videos sur you tube - personne ne le propose et ça fonctionne pour eux !.
Dernière modification par Usharn (Le 11/05/2017, à 09:20)
Hors ligne
#7 Le 11/05/2017, à 09:41
- pingouinux
Re : uft8 / gedit
En python3, utf8 est l'encodage par défaut, et la ligne que je t'indique en #5 n'est plus nécessaire .
Hors ligne
#8 Le 11/05/2017, à 09:49
- Usharn
Re : uft8 / gedit
donc faut-il que je remplace python 2 par python3.
sur certain forum , cela est déconseillé
Hors ligne
#9 Le 11/05/2017, à 11:27
- pingouinux
Re : uft8 / gedit
faut-il que je remplace python 2 par python3.
Le système utilise python (c'est-à-dire python2), qu'il ne faut pas remplacer par python3.
Dans tes scripts, tu peux utiliser l'un ou l'autre (voir man 2to3 pour convertir les scripts python2 en python3).
#!/usr/bin/python3
Hors ligne
#10 Le 16/05/2017, à 03:41
- Usharn
Re : uft8 / gedit
ok merci ,
autre question , je viens de voir que dans idle , il est possible de lancer l'execution du script dans un terminal - est il possible de faire la même chose avec gedit ?
Hors ligne
#11 Le 20/05/2017, à 11:11
- MicP
Re : uft8 / gedit
… lancer l'execution du script dans un terminal…avec gedit…
Il faut activer le greffon Outils externes:
Gedit -> Préférences -> Onglet Greffons -> Outils externes (Exécute des commandes externes et de scripts shell.)
=======
Ensuite il faut créer l'outil qui lancera l'exécution des commandes contenues dans le fichier en cours d'édition dans la fenêtre de Gedit
Gedit -> Manage External Tools -> cliquer sur le + en bas à gauche, …
… et la suite dépends de l'interpréteur du script à utiliser :
Pour un script bash, j'ai juste entré :
/bin/bash
et sélectionné Document actuel comme Entrée :
On peut éventuellement choisir un raccourci clavier qui va lancer l'outil externe,
mais faites gaffe à choisir un raccourci qui ne soit pas déjà utilisé ailleurs…
S'il fallait que ce script utilise une fenêtre de terminal,
il faudra changer /bin/bash par le nom de l'émulateur de terminal que tu compte utiliser
avec les options qui lui conviennent pour qu'il puisse lancer les commandes contenues dans le fichier en cours d'édition dans la fenêtre de Gedit
Dernière modification par MicP (Le 20/05/2017, à 11:22)
Hors ligne
#12 Le 22/05/2017, à 08:19
- Usharn
Re : uft8 / gedit
1 ) c'est quoi
l'interpréteur du script
?
2)
S'il fallait que ce script utilise une fenêtre de terminal,
il faudra changer /bin/bash par le nom de l'émulateur de terminal que tu compte utiliser
avec les options qui lui conviennent pour qu'il puisse lancer les commandes contenues dans le fichier en cours d'édition dans la fenêtre de Gedit
: Cela signifie que lorsque je clique sur Gedit -> Manage External Tools -> je selectionne ouvrir un terminal et que j'entre le chemin d'acces pour ouvrir python ? au lieu de mettre /bin/bash dans le + en bas à gauche ?
Hors ligne
#13 Le 23/05/2017, à 08:49
- MicP
Re : uft8 / gedit
Bonjour
Un script est un fichier texte contenant une suite de commandes qu'un interpréteur de commandes va pouvoir exécuter
il peut s'agir d'un fichier (script) qui contient des commandes que l'interpréteur de commandes python va pouvoir interpréter avant de les exécuter,
ou il peut s'agir d'un fichier (script) qui contient des commandes que l'interpréteur de commandes bash va pouvoir interpréter avant de les exécuter,
ou il peut s'agir d'un fichier (script) qui contient des commandes que l'interpréteur de commandes dash va pouvoir interpréter avant de les exécuter,
ou il peut s'agir d'un fichier (script) qui contient des commandes que l'interpréteur de commandes javascript va pouvoir interpréter avant de les exécuter,
etc.
=======
Un script peut être interactif ou non
Si ce script a besoin d'une intervention de l'utilisateur pour répondre à une proposition de choix, il y aura donc interactivité,
et donc besoin d'une fenêtre (graphique, ou autre émulateur de terminal) pour afficher le choix proposé, et recevoir la réponse de l'utilisateur par l'inermédiaire du ou des périphériques d'entrée(s) connecté à ce terminal.
Un script peut aussi ne contenir des commandes qui n'affichent rien ni ne demande d'interventions de l'utilisateur,
ce script n'aura pas besoin d'une fenêtre d'affichage ni de retour d'information du clavier (ou autre) associé (ou non) à ce terminal.
=======
Tout dépend donc des commandes contenues dans ton script et de ce que tu vas vouloir faire faire à ton script,
ou simplement faire avec ton script (comme par exemple, le debugger en visualisant les valeurs qui ont été assignées aux variables qu'il utilise, etc.)
Dernière modification par MicP (Le 23/05/2017, à 16:22)
Hors ligne
Pages : 1