Мне нужно импортировать пользовательские функции из сценария A в сценарий B и выполнить их в сценарии B.
Теперь это выглядит так:
Script_B.py
import os
import sys
from A import function_aa
from A import function_ab
from A import function_ac
def main():
function_aa()
function_ab()
function_ac()
if __name__ == "__main__":
main()
Если я запускаю его в IDE, все в порядке, но Windows Task Scheduler не распознает эти пользовательские функции и выдает ошибку ModuleNotFoundError: No module named 'A'
ОК. Я попытался указать путь к A, как это :
import importlib
import sys
MODULE_PATH = 'C://foo//bar//__init__.py' # A.py is in bar folder and contains A.py and __init__.py
MODULE_NAME = "A"
spec = importlib.util.spec_from_file_location(MODULE_NAME, MODULE_PATH)
module = importlib.util.module_from_spec(spec)
sys.modules[spec.name] = module
spec.loader.exec_module(module)
Тогда у меня появляется эта ошибка ImportError: cannot import name 'function_aa' from 'A'
Есть ли способ обойти эту проблему планировщика заданий при импорте вашей собственной функции?