#1 Le 22/08/2008, à 05:58
- figarojuju
[Résolu] [Python] Bug dans affichage du help('modules')
Bonjour,
je rencontre un bug dans python: lorsque je suis sur une console python et que je tape help('modules'), il ne me donne pas la liste des modules comme il le devrait mais des messages d'erreur...
Cela à commencé à buguer depuis que j'ai installé openGL. Je l'ai donc désinstallé, pour voir, mais rien n'y fait...
Savez-vous comment corriger ce bug?
Merci et bonne journée.
Dernière modification par figarojuju (Le 23/08/2008, à 11:48)
Ubuntu: Hardy Heron
Hors ligne
#2 Le 22/08/2008, à 17:34
- PMdomine
Re : [Résolu] [Python] Bug dans affichage du help('modules')
Bonjour,
Essaye plutôt :
import monmodule
help(monmodule)
« Mais à quoi te sert Python ?
--- À tout ! »
Hors ligne
#3 Le 22/08/2008, à 21:42
- figarojuju
Re : [Résolu] [Python] Bug dans affichage du help('modules')
Bonsoir,
merci de ta réponse, j'ai essayé, ça marche.
L'intérêt que je voyais avec la commande que j'effectuais, était de voir d'un coup tous les modules installés...
Saurais-tu comment faire pour que cette commande fonctionne à nouveau?
Bonne soirée
Ubuntu: Hardy Heron
Hors ligne
#4 Le 23/08/2008, à 08:52
- aleph
Re : [Résolu] [Python] Bug dans affichage du help('modules')
Je ne vois pas les raisons pour lesquelles un help('modules') ne fonctionnerait pas. Le résultat d'un help('modules') sur ma plateforme est un peu long et je ne le donne pas ici.
Un help('modules') ne scrute pas les modules installés, mais les modules qui sont atteignables comme le spécifie le sys.path. Le sys.path peut être (et est bien souvent) différent pour chaque utilisateur d'un environnement Python quelle que soit la plateforme et ceci aussi pour les utilisateurs d'un même OS (OS X, Solaris, un Linux, ...).
(Il me semble que c'est un concept que beaucoup ont de la peine à saisir et qui explique accessoirement aussi pourquoi distribuer un/des script(s) Python sous forme de paquet deb n'est pas une bonne idée.)
Un import monmodule avant un help('monmodule') ne se justifie pas.
Petite illustration avec le module abc.py qui contient deux fonctions fa et fb. Pour cette démo, le module se situe dans c:\junk, mais il pourrait très bien se situer dans n'importe quel répertoire de n'importe quel OS.
>>>
>>> help('abc')
no Python documentation found for 'abc'
>>> sys.path.append('c:\\junk')
>>> help('abc')
Help on module abc:
NAME
abc - Ce module contient les deux fonctions fa() et fb()
FILE
c:\junk\abc.py
FUNCTIONS
fa()
fa() -> 999 (in all cases)
fb()
fb() -> "abcdef" (in all cases)
>>> help('abc.fa')
Help on function fa in abc:
abc.fa = fa()
fa() -> 999 (in all cases)
>>> help('abc.fb')
Help on function fb in abc:
abc.fb = fb()
fb() -> "abcdef" (in all cases)
>>> #ou bien
>>> abc
Traceback (most recent call last):
File "<psi last command>", line 1, in <module>
NameError: name 'abc' is not defined
>>> import abc
>>> abc.__doc__
Ce module contient les deux fonctions fa() et fb()
>>> abc.fa.__doc__
fa() -> 999 (in all cases)
>>> abc.fb.__doc__
fb() -> "abcdef" (in all cases)
>>>
#5 Le 23/08/2008, à 10:24
- figarojuju
Re : [Résolu] [Python] Bug dans affichage du help('modules')
Bonjour,
je crois que je n'ai pas été assez précis concernant mon bug:
Voici ce que j'obtiens:
$ python
Python 2.5.2 (r252:60911, Jul 31 2008, 17:28:52)
[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> help('modules')
Please wait a moment while I gather a list of all available modules...
/usr/lib/python2.5/site-packages/twisted/words/im/__init__.py:8: UserWarning: twisted.im will be undergoing a rewrite at some point in the future.
warnings.warn("twisted.im will be undergoing a rewrite at some point in the future.")
Data Dir: /usr/share/gnome-applets/invest-applet
/usr/lib/python2.5/pkgutil.py:110: DeprecationWarning: The wxPython compatibility package is no longer automatically generated or actively maintained. Please switch to the wx package as soon as possible.
__import__(name)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.5/site.py", line 342, in __call__
return pydoc.help(*args, **kwds)
File "/usr/lib/python2.5/pydoc.py", line 1646, in __call__
self.help(request)
File "/usr/lib/python2.5/pydoc.py", line 1683, in help
elif request == 'modules': self.listmodules()
File "/usr/lib/python2.5/pydoc.py", line 1804, in listmodules
ModuleScanner().run(callback)
File "/usr/lib/python2.5/pydoc.py", line 1855, in run
for importer, modname, ispkg in pkgutil.walk_packages():
File "/usr/lib/python2.5/pkgutil.py", line 110, in walk_packages
__import__(name)
File "/usr/lib/python2.5/site-packages/wx-2.8-gtk2-unicode/wxPython/__init__.py", line 15, in <module>
import _wx
File "/usr/lib/python2.5/site-packages/wx-2.8-gtk2-unicode/wxPython/_wx.py", line 8, in <module>
from _misc import *
File "/usr/lib/python2.5/site-packages/wx-2.8-gtk2-unicode/wxPython/_misc.py", line 456, in <module>
wxDateTime_GetNumberOfDaysinYear = wx._misc.DateTime_GetNumberOfDaysinYear
AttributeError: 'module' object has no attribute 'DateTime_GetNumberOfDaysinYear'
>>>
Qu'en pensez-vous?
Merci et bon Week end
Ubuntu: Hardy Heron
Hors ligne
#6 Le 23/08/2008, à 11:05
- aleph
Re : [Résolu] [Python] Bug dans affichage du help('modules')
>figarojuju
Comme le traceback l'indique, le problème se situe au niveau du package (dans le sens Python et non deb) de wxPython.
Par hasard, j'ai amené, indirectement, la discussion sur la mailing list des développeurs wxPython hier. Il y a effectivement un problème au niveau de wx, résolu dans la prochaine version selon Robin.
Je te laisse lire: http://lists.wxwidgets.org/pipermail/wxpython-users/2008-August/079559.html et la courte discussion qui s'en suit.
#7 Le 23/08/2008, à 11:48
- figarojuju
Re : [Résolu] [Python] Bug dans affichage du help('modules')
Merci Aleph,
très sympa de part d'avoir autant cherché...
Une boucle infinie alors ferait donc tout planter à partir du module wxPython.
Résolu à la prochaine update donc...
Bon Week end.
Ubuntu: Hardy Heron
Hors ligne