Pages : 1
#1 Le 21/10/2007, à 10:56
- cthulu
Python sous Kubuntu
Bonjour,
Je suis sous peu sous Linux ( avec Kubuntu ) et je souhiate reprendre python ( depuis un arret de 3 ans ) donc je reprends un de mes anciens fichiers présent sur ma partoch windows et je tente de l'exécuter mais c'est un echec total donc j'aurai besoin de vos lumières.:cool:
Dans la console:
ktulu@ktulu-desktop:~$ sudo python /home/ktulu/pacman.py
File "/home/ktulu/pacman.py", line 38
SyntaxError: Non-ASCII character '\xef' in file /home/ktulu/pacman.py on line 39, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
Merci d'avance , toute aide est la bienvenue ...
Hors ligne
#2 Le 21/10/2007, à 12:07
- LiRYc
Re : Python sous Kubuntu
deja pas de sudo !!
apres l'erreur qui te remonte c'est juste que l'encodage n'est pas corect
edite ton fichier et ajoute au debut .:
#!/usr/bin/python
# -*- coding: latin1 -*-
Hors ligne
#3 Le 21/10/2007, à 12:56
- PMdomine
Re : Python sous Kubuntu
Salut,
Les encodages, faut quand même bien comprendre comment ça fonctionne : il y a celui avec lequel ton fichier est encodé, et celui que tu précises dans l'entête que LiRYc t'as donné et qui sont censé être les mêmes. Je te revoie à de la doc : http://wikipython.flibuste.net/moin.py/JouerAvecUnicode
C'est peut-être un peu compliqué à saisir, mais c'est essentiel : bonne chance.
Pour continuer : regarde bien quel est l'encodage utilisé par l'éditeur quand tu a ouvert ces fichiers, pour ensuite le préciser au début de tes sources. Si tu as créé ces fichiers sous windows, il y a de fortes chances que ce soit latin-1 (aussi appelé iso-8859-15). Si tu as fait ça sous ubuntu, c'est sûrement de l'utf-8.
« Mais à quoi te sert Python ?
--- À tout ! »
Hors ligne
#4 Le 21/10/2007, à 13:14
- cthulu
Re : Python sous Kubuntu
Ok merci, mais maintenant il ne trouve pas la commande visual ou pourrais je trouver vpython car je ne peux pas l'installer directement de la console
Dois je telecharger le package d'internet?:rolleyes:
Dernière modification par cthulu (Le 21/10/2007, à 13:15)
Hors ligne
#5 Le 21/10/2007, à 13:20
- PMdomine
Re : Python sous Kubuntu
sudo apt-get install python-visual
ne donne rien chez toi ? Il est dans les dépôts universe, il me semble. Chez moi il existe ce paquet, mais avec les màjs massives vers gusty, c'est la galère pour installer des trucs ^^.
« Mais à quoi te sert Python ?
--- À tout ! »
Hors ligne
#6 Le 21/10/2007, à 13:29
- cthulu
Re : Python sous Kubuntu
Apparemment il n'existait pas je viens de lancer l'install,:D
Hors ligne
#7 Le 21/10/2007, à 13:32
- cthulu
Re : Python sous Kubuntu
Ca marche, mais il faut que je modifie tous les liens et que j'importe tous les fichiers textes se rapportant au .py
Hors ligne
#8 Le 21/10/2007, à 14:02
- cthulu
Re : Python sous Kubuntu
HAAAAAAAAAAAAA !!! ma capture de clavier ne fonctionne pas il ne faut pas de librairie pour ça normalement?
Hors ligne
#9 Le 21/10/2007, à 16:39
- aleph
Re : Python sous Kubuntu
La définition de l'encodage (codage en français) que l'on place dans une une-tête de fichier et l'encodage du fichier qui contient cette définition sont deux choses distinctes.
Dans le premier cas, la définition indique au moteur Python (excecutable, librairie ou interpréteur intégré) quel encodage il utilisera pour travailler, c'est à dire interpréter le code soumis.
Dans le deuxième cas, nous avons affaire à l'encodage du fichier proprement dit.
Il est d'usage d'avoir une concordance entre les deux cas. Ceci n'est toutefois pas une obligation. Les anglo-saxons n'utilisant généralement pas de "caractères accentués" ne définiront pas d'encodage, ou pour être exact, utiliseront l'encodage ASCII, encodage par défaut de Python. Les Européens de l'Ouest définiront plus volontiers un encodage.
Les fichiers créés sous Windows sont généralement encodés en cp1252 et non en iso-8859-1. Toutefois, iso-8859-1 étant un sous ensemble de cp1252, cette encodage convient très bien à Python si aucun caractère appartenant à l'intersection des ensembles cp1252 et iso-8859-1 n'est utilisé. Ce n'est pas le cas avec l'encodage iso-8859-15.
Quels que soient l'encodage du fichier et/ou l'encodage d'interprétation, il est possible de définir en Python un string (chaîne de caractères) dans n'importe quel encodage.
Ces mécanismes permettent aux utilisateurs de Python d'échanger des fichiers, scripts Python, indépendamment de la plateforme ou de la langue utilisée (français, russe ou vietnamien). Par conséquent, il inutile de passer son temps à essayer de convertir les encodages des fichiers.
Quelques remarques.
- Sous DOS, l'encodage est cp850 pour les pays de l'Europe de l'Ouest et cp450 pour les USA.
- La définition de l'encodage, sa forme, sert accessoirement d'information aux éditeurs (vi, emacs, SciTE, ...)
- Parler d'encodage pour cp1252 ou iso-8859-1 est d'usage mais abusif. Les caractères représentés sous forme de bytes (tabelle un byte -> un caractère) n'ont absolument pas d'encodage, contrairement à l'Unicode.
#10 Le 21/10/2007, à 17:03
- aleph
Re : Python sous Kubuntu
Erratum DOS, USA/English -> cp437
Pages : 1