Ejecutar Pylint en Windows -> ImporterRor: no se puede importar desde Builtins
Pregunta
Tal vez alguien tenga una pista sobre este. Google, los archivos logilab.org y cualquier otra fuente que intenté determinar una solución se ha vuelto vacía.
Estaba tratando de hacer que Pylint 2.4 funcionara con Pydev en Eclipse (con Python 2.6) en Windows, pero en este momento estaría feliz simplemente ejecutando Pylin en absoluto. Utilicé Easy_install para instalar Pylint y sus dependientes. Eso pareció funcionar bien. Sin embargo, si intento ejecutar c: python26 scripts pylint.bat, obtengo lo siguiente:
Traceback (most recent call last):
File "C:\Python26\Scripts\pylint", line 5, in <module>
pkg_resources.run_script('pylint==0.24.0', 'pylint')
File "c:\Python26\lib\site-packages\pkg_resources.py", line 489, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "c:\Python26\lib\site-packages\pkg_resources.py", line 1207, in run_script
execfile(script_filename, namespace, namespace)
File "c:\python26\lib\site-packages\pylint-0.24.0-py2.6.egg\EGGINFO\scripts\pylint", line 3, in <module>
from pylint import lint
File "c:\Python26\lib\site-packages\pylint-0.24.0-py2.6.egg\pylint\lint.py", line 31, in <module>
from pylint.checkers import utils
File "c:\Python26\lib\site-packages\pylint-0.24.0py2.6.egg\pylint\checkers\__init__.py", line 44, in <module>
from logilab.astng.utils import ASTWalker
File "c:\Python26\lib\site-packages\logilab_astng-0.22.0py2.6.egg\logilab\astng\__init__.py", line 58, in <module>
from logilab.astng.nodes import *
File "c:\Python26\lib\site-packages\logilab_astng-0.22.0-py2.6.egg\logilab\astng\nodes.py", line 54, in <module>
from logilab.astng.node_classes import Arguments, AssAttr, Assert, Assign, \
File "c:\Python26\lib\site-packages\logilab_astng-0.22.0-py2.6.egg\logilab\astng\node_classes.py", line 27, in <module>
from logilab.astng.bases import (NodeNG, Statement, Instance, InferenceContext,
File "c:\Python26\lib\site-packages\logilab_astng-0.22.0-py2.6.egg\logilab\astng\bases.py", line 28, in <module>
from logilab.common.compat import builtins
ImportError: cannot import name builtins
Me acurruqué y miré a Based.py, pero no tengo idea de cuál es el problema. Mi ruta de shell incluye c: python26; c: python26 scripts.
¿Tiene esto algo que ver con Lib2TO3? O compatibilidad de Python 2.6?
Tenga en cuenta que instalé Pylint usando "Easy_Install Pylint", y Logilab-Common está a más tarde 0.56.2.
¡Gracias!
Solución
Para mí, hay un módulo Logilab.common.Compat enterrado dentro del huevo "Logilab.pylintinstaller-0.15.2-py2.6.egg" en mi carpeta de paquetes de sitio. Tener el huevo logilab_common instalado, eliminando el huevo Pylintinstaller hizo que Pylint funcionara en Eclipse. Descubrí esto a través de ipython así:
In [37]: import logilab.common.compat
In [38]: from logilab.common.compat import builtins
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
C:\Users\Rio\Documents\mcedit\pymclevel\<ipython console> in <module>()
ImportError: cannot import name builtins
In [41]: logilab.common.compat.__file__
Out[41]: 'c:\\python26\\lib\\site-packages\\logilab.pylintinstaller-0.15.2-py2.6.egg\\logilab\\common\\compat.pyc'
Otros consejos
Probablemente no tenga el paquete Logilab.common o la versión instalada es antigua.
probar:
easy_install-2.6 --upgrade logilab-common