[Python-projects] Pylint et Plone/Zope

Sylvain Thénault sylvain.thenault at logilab.fr
Wed Feb 20 10:06:37 CET 2008


On Mon, Feb 18, 2008 at 04:38:57PM +0100, Frederic F. Monfils wrote:
> Bonjour,

Bonjour,

> Lorsque je lance pylint en ligne de commande pour analyser un module, 
> par exemple ATContentTypes, il me rapporte un grand nombre d'erreurs 
> d'import.
> 
> Voici ce que je fais: (le module ATContentTypes se trouve dans le 
> répertoire parts\pylint)
> 
> cd parts\plone
> pylint ATContentTypes
> 
> J'obtiens une longue série de "Unable to import Products.ATContentTypes..."
> 
> Il me semble que c'est peut-être parce que zope, lorsqu'il démarre, il 
> charge certains modules. En effet, je ne vois nulle part de répertoire 
> "Products". Note: je ne suis pas expert en zope.
> 
> J'ai alors tenté de lancer pylint depuis le répertoire bin\. ca ne 
> marche pas.
> J'ai ensuite tenté d'utiliser l'option --init-hook mais je n'arrive pas 
> non plus à éviter les messages "Unable to import..."
> 
> Je pense pourtant que la piste --init-hoot est la bonne. Avez-vous une 
> solution?

1. il faut avoir le python path qui va bien pour importer la librairie
   zope et les produits
2. un des pb est que zope permet plusieurs répertoire Products, et que
   la machinerie pour gérer ça est effectuée au démarrage de zope. Pour
   gérer ça, une solution est d'avoir un module d'initialisation de
   pylint (importé grace au init-hook effectivement) qui fait qqch du 
   genre :
   
   import Products
   Products.__path__ += ['/path/to/my/Products', ...]

   afin que tout les répertoires products soit importable.

PS: cette liste est anglophone, il faut utiliser forum-fr at logilab.org
pour le français.

-- 
Sylvain Thénault                               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



More information about the Python-Projects mailing list