IgorDV
Модуль импортируется, доступ к содержимому есть.
И все равно подчеркивает import - Unable to import ‘util_date’pylint(import-error)
Ну это сугубо ограничения IDE.
Вы же понимаете, что для того, чтобы правильно импортировать модуль util_date надо выполнить код?
Вот эта ваша строка
sys.path.append(os.path.join(sys.path, ‘..\\util’))
должна быть выполнена перед импортом. Это не магия, не специальный синтаксис, это обычный вызов функции в питоне.
А теперь подумайте, а откуда IDE должна знать, что пути к библиотеке меняются по ходу выполнения программы? Откуда она знает, что вы вызываете функцию, которая добавляет путь к каталогу вашего модуля? Вы подразумеваете, что IDE
выполняет код, который читает. Это было бы вообще говоря довольно опасное поведение, давайте представим, что мы пишем программу, котоая удаляет все файлы из домашней директории. И вот мы написали программу, а ИДЕ взяла и без спроса её выполнила.
Ну и вообще, кто мешает написать вот такой код
if DEVELOP:
sys.path.append(os.path.join(sys.path, 'develop', 'util'))
elif PRODUCTION:
sys.path.append(os.path.join(sys.path, 'prod', 'util'))
elif TEST:
.....
И как ваша ИДЕ должна определить, какой именно модуль вы собрались поключать?