Я использую __package__
в файле setup.py для ссылки на имя верхнего уровня пакета, который предполагается тестировать, собирать, устанавливать и т. Д. Однако объекты pylint:
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__
.