2009-12-26 11 views
1

J'écris un programme:pylint erreur PyQt4

from PyQt4.QtCore import * 
from PyQt4.QtGui import * 

def main(): 
    app = QApplication([]) 
    button = QPushButton("hello?") 
    button.show() 
    app.exec_() 

if __name__=="__main__": 
    main() 

le nom du fichier est t.py, quand je lance:

pylint t.py 

à ubuntu9.10, pyqt4, je suis arrivé ceci:

pylint t.py 
No config file found, using default configuration 
error while building astng for /home/halida/data/workspace/test/t.py 
Traceback (most recent call last): 
    File "/usr/lib/pymodules/python2.6/logilab/astng/manager.py", line 126, in astng_from_file 
    astng = ASTNGBuilder(self).file_build(filepath, modname) 
    File "/usr/lib/pymodules/python2.6/logilab/astng/builder.py", line 118, in file_build 
    node = self.string_build(data, modname, path) 
    File "/usr/lib/pymodules/python2.6/logilab/astng/builder.py", line 128, in string_build 
    return self.ast_build(parse(data + '\n'), modname, path) 
    File "/usr/lib/pymodules/python2.6/logilab/astng/builder.py", line 147, in ast_build 
    self.rebuilder.walk(node) 
    File "/usr/lib/pymodules/python2.6/logilab/astng/rebuilder.py", line 89, in walk 
    self._walk(node) 
    File "/usr/lib/pymodules/python2.6/logilab/astng/rebuilder.py", line 109, in _walk 
    self._walk(child, node) 
    File "/usr/lib/pymodules/python2.6/logilab/astng/rebuilder.py", line 103, in _walk 
    handle_leave = node.accept(self) 
    File "/usr/lib/pymodules/python2.6/logilab/astng/nodes.py", line 159, in accept 
    return func(self) 
    File "/usr/lib/pymodules/python2.6/logilab/astng/rebuilder.py", line 188, in visit_from 
    imported = node.root().import_module(node.modname) 
    File "/usr/lib/pymodules/python2.6/logilab/astng/scoped_nodes.py", line 282, in import_module 
    return MANAGER.astng_from_module_name(self.relative_name(modname, level)) 
    File "/usr/lib/pymodules/python2.6/logilab/astng/manager.py", line 172, in astng_from_module_name 
    return self.astng_from_module(module, modname) 
    File "/usr/lib/pymodules/python2.6/logilab/astng/manager.py", line 207, in astng_from_module 
    astng = ASTNGBuilder(self).module_build(module, modname) 
    File "/usr/lib/pymodules/python2.6/logilab/astng/builder.py", line 80, in module_build 
    node = self.inspect_build(module, modname=modname, path=path) 
    File "/usr/lib/pymodules/python2.6/logilab/astng/builder.py", line 95, in inspect_build 
    self.object_build(node, module) 
    File "/usr/lib/pymodules/python2.6/logilab/astng/builder.py", line 195, in object_build 
    self.object_build(class_node, member) 
    File "/usr/lib/pymodules/python2.6/logilab/astng/builder.py", line 198, in object_build 
    object_build_methoddescriptor(node, member) 
    File "/usr/lib/pymodules/python2.6/logilab/astng/raw_building.py", line 150, in object_build_methoddescriptor 
    func = build_function(member.__name__, doc=member.__doc__) 
AttributeError: 'PyQt4.QtCore.pyqtSignal' object has no attribute '__name__' 
************* Module t 
F: 1: <class 'logilab.astng._exceptions.ASTNGBuildingException'>: Unable to load module t ('PyQt4.QtCore.pyqtSignal' object has no attribute '__name__') 

Compilation exited abnormally with code 1 at Sat Dec 26 10:43:54 

dans windows XP, avec pythonxy,

J'ai seulement reçu un message d'erreur, pourquoi?

Répondre

1

On dirait un bogue dans astng. Ils essaient de lire le nom d'une fonction qui ne le publie pas (fonction d'extension native). Je signalerais un bug à la fois astng et pyqt projets. Le premier serait qu'ils devraient mieux gérer une situation sans nom. Le second serait que chaque extension sensée devrait publier au moins les noms des fonctions.

0

Je voudrais vérifier si vous utilisez la toute dernière astng, pylint, etc.