2011-02-12 41 views
1

我使用__package__在setup.py指它应该测试,建造,安装,等等。不过,pylint的对象封装的顶级名称:pylint的不太愿意上参考__PACKAGE__

Module 'mian.mian' has no '__package__' member 

ipython正常工作:

from mian import mian as package 
package.__dict__ 
... 
'__package__': 'mian', 

是pylint的做正确的事在这里,忽略PEP 366的“当导入系统遇到一个模块在一个明确的相对进口无__PACKAGE__集(或将其设置为无),它会计算并存储正确的值“?如果是这样,我需要改变什么?

解决方法:使用package.__name__.rpartition('.')[0]而不是package.__package__

+1

如果你真的想解决这个问题pylint的抱怨一切,你就会有一个可怕的很多没出息的工作。而你的计划只会变得更糟。但是你可能会提交一个错误报告。 – 2011-02-12 17:45:09

回答