4

我正在尝试针对 Zope 导入污染的源代码运行 pylint:

************* Module youraddon.interfaces
F0401: 11,0: Unable to import 'zope.interface'

问题中的代码:

from zope.interface import Interface 

并且 zope.interface 鸡蛋在 sys.path 中传递给 pylint 作为鸡蛋:

cat ../../bin/pylint|grep -i interface
'/fast/buildout-cache/eggs/zope.interface-3.6.7-py2.6-macosx-10.6-i386.egg',  

现在的问题是

  • 我可以以它理解的方式制作 pylint import zope.interface 吗?为什么它实际上失败了?

  • 如果没有,我怎样才能抑制导入警告并将文件的其余部分正常处理?

还得到:

      # E0611: 11,0: No name 'interface' in module 'zope'
4

2 回答 2

1

您可以禁用特定的 Pylint 错误消息:

1) 在命令行上使用 --disable 选项

$ pylint --disable=F0401 youraddon.py

2)在文件中添加特定的注释

#pylint: disable=F0401

http://www.logilab.org/card/pylint_manual

于 2012-05-04T06:54:53.130 回答
0

我不会在全局范围内安装 pylint,而是将它与您正在安装项目的 buildout 一起安装(假设您正在使用 buildout)。然后将实例鸡蛋添加到 pylint 部分。

像这样的东西:

[buildout]
parts =
  instance
  pylint

[instance]
...
eggs =
  your.addon
  ...

[pylint]
recipe = zc.recipe.egg
entry-points = pylint=pylint.lint:Run
eggs =
  pylint
  ${instance:eggs}

一个更复杂的例子:https ://github.com/4teamwork/ftw-buildouts/blob/master/test-base.cfg#L163

干杯

于 2012-05-05T22:58:06.247 回答