Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

linecache et py2exe

12 réponses
Avatar
j.cormouls
Bonjour,

J'ai post=E9 une question concernant un probl=E8me avec un exe cr=E9=E9 avec=

py2exe, mais pas de r=E9ponse =E0 ce jour...

Apparemment, mon probl=E8me viendrait de l'utilisation de la commande
getline('fichier.txt',n).
Celle-ci est reconnue dans mon exe, mais ne r=E9cup=E9re aucune valeur.

Quelqu'un aurait-il une piste ?

Merci

Jerome

10 réponses

1 2
Avatar
Méta-MCI \(MVP\)
Bonjour !

Juste une idée : préciser le chemin complet du fichier (fichier.txt)
avant de l'ouvrir.

@+

Michel Claveau
Avatar
j.cormouls
J'ai essayé de préciser le chemin complet, mais sans succés...

Je précise que mon programme fonctionne en .py, avant compilation.


Jérôme
Avatar
Alexandre Fayolle
Le 06-02-2008, nous disait:
Bonjour,

J'ai posté une question concernant un problème avec un exe créé avec
py2exe, mais pas de réponse à ce jour...

Apparemment, mon problème viendrait de l'utilisation de la commande
getline('fichier.txt',n).
Celle-ci est reconnue dans mon exe, mais ne récupére aucune valeur.


getline n'est pas une fonction de la bibliothèque standard.


Quelqu'un aurait-il une piste ?


Fichier vide, fichier inexistant, fichier existant mais ailleurs...




--
Alexandre Fayolle LOGILAB, Paris (France)
Formations Python, Zope, Plone, Debian: http://www.logilab.fr/formations
Développement logiciel sur mesure: http://www.logilab.fr/services
Python et calcul scientifique: http://www.logilab.fr/science

Avatar
Méta-MCI \(MVP\)
Salut !

Je précise que mon programme fonctionne en .py, avant compilation.


Py2exe n'est pas un compilateur, dans le sens "conversion en binaire".
C'est plutôt un rassembleur l'éléments dans un même paquet.

Py2exe n'est pas vraiment destiné à être utilisé pour créer des
exécutables, mais plutôt comme un moyen d'installation (de scripts
Python avec Python), ou pour utiliser des scripts Python, lorsque Python
n'est pas installé.

Si ça marche avec le .py, pourquoi ne pas l'utiliser tel quel ?

@-salutations

Michel Claveau

Avatar
Méta-MCI \(MVP\)
Salut !

getline n'est pas une fonction de la bibliothèque standard.


Je suppose que tu voulais dire : "n'est pas une fonction __builtin__"

En effet :
import linecache
print dir(linecache)
print help(linecache.getline)

linecache étant, d'après la doc, un "standard module".


Mais, il est vrai que linecache n'a été cité que dans le titre du
message, que l'on a aucune idée du code, ou de l'utilisation de la
chose.


@-salutations

Michel Claveau

Avatar
ylc
Bonjour,
je ne suis pas un expert, mais Getline n'est pas une commande python,
c'est du GNU Unix çà.
J'ai écrit quelques progs python avec les modules Tkinter, winsound,
sqlite3, string, os, sys, PIL,
glob, Tix, os, tkfiledialog, winsound, math, time, wx, et smtplib et
j'ai passé tout ça sous py2exe
sans aucun problème. Le seul obstacle rencontré est lié au code-page
pour un exe sous windows.
en effet, lors de la création d'un exe pour windows,
sys.setdefaultencoding peut être détruit par site.py
à l'exécution de py2exe ; il faut donc le restaurer en codant :
reload(sys)
if hasattr(sys,"setdefaultencoding") :
sys.setdefaultencoding("utf-8")
A ma grande surprise d'ailleurs, les progs python "compilés" par
py2exe fontionnent parfaitement aussi
bien en windows 95, 98, XP et Vista.
Cordialement
Yves Le Chevalier
Avatar
Méta-MCI \(MVP\)
Bonjour !

Getline n'est pas une commande python,


Si, c'est une fonction du module standard linecache :
import linecache
print dir(linecache)
print help(linecache.getline)


@+

Michel Claveau

Avatar
j.cormouls
On 8 fév, 09:03, "Méta-MCI (MVP)"
wrote:
Salut !

Je précise que mon programme fonctionne en .py, avant compilation.


Py2exe n'est pas un compilateur, dans le sens "conversion en binaire".
C'est plutôt un rassembleur l'éléments dans un même paquet.

Py2exe n'est pas vraiment destiné à être utilisé pour créer des
exécutables, mais plutôt comme un moyen d'installation (de scripts
Python avec Python), ou pour utiliser des scripts Python, lorsque Python
n'est pas installé.

Si ça marche avec le .py, pourquoi ne pas l'utiliser tel quel ?

@-salutations

Michel Claveau


Justement pour pouvoir l'utiliser sur des machines où Python n'est pas
installé !

Merci pour ces réponses.

J.C.


Avatar
j.cormouls
Fichier vide, fichier inexistant, fichier existant mais ailleurs...


Mon fichier existe bien, à priori...

J.C

Avatar
ylc
Bonjour,
J'ai essayé pour voir d'intégrer une commande linecache.getline dans
un programme : ça fonctionne effectivement en mode python interprêté
mais une fois mouliné par py2exe cela ne fonctionne plus !
Il devrait être facile de trouver une autre solution ? non ?
Bon courage
YLC
1 2