Contenu | Rechercher | Menus

Annonce

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

#1 Le 08/05/2017, à 18: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, à 20:13

fred62

Re : uft8 / gedit

Je te conseille d'utiliser geany plutot que gedit pour coder en python smile
oui , la version 3.4 (voire 3.5) est plus d'actualité
Bon codage ;-)

Dernière modification par fred62 (Le 09/05/2017, à 20:23)

Hors ligne

#3 Le 10/05/2017, à 15: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, à 16: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, à 16: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, à 10: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, à 10:20)

Hors ligne

#7 Le 11/05/2017, à 10: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, à 10: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, à 12:27

pingouinux

Re : uft8 / gedit

Usharn #8 a écrit :

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, à 04: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, à 12: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, à 12:22)

Hors ligne

#12 Le 22/05/2017, à 09: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, à 09: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, à 17:22)

Hors ligne