Я написал программу на C ++, которая использует вложения python для вызова модуля python, который использует библиотеки numpy и pytorch.При использовании исключительно библиотеки NumPy я могу без проблем вызвать и вернуться из модуля.Однако, когда я добавляю команду «import torch» в мой модуль, моя программа выдает следующую ошибку:
DEBUG: пойман сигнал на прерывание (дочерний процесс завершен).
Проблема также возникает, когда я импортирую модули torch / sklearn с помощью функции PyRun_SimpleString ().
Часть моей программы, где я вызываю соответствующий импорт:
Py_Initialize();
PyRun_SimpleString("import numpy");
cout << "numpy ok" << endl;
PyRun_SimpleString("import torch");
cout << "torch ok" << endl;
Когда я выполняю кодвыше, я получаю следующий вывод:
numpy ok
DEBUG: caught signal to interrupt (Child exited).
Я компилирую и связываю свою программу, используя выходные данные python3-config --cflags
и python3-config --ldflags`.У меня также установлен pytorch для моего python3.6, как видно из кода ниже:
PyRun_SimpleString("import importlib");
PyRun_SimpleString("flag = importlib.util.find_spec('torch')");
PyRun_SimpleString("print(flag is not None)");
Этот код печатает True
, показывая, что факел действительно установлен, но по какой-то причине не может быть загружен.Наконец, то же самое происходит при попытке импортировать библиотеку sklearn.Спасибо.