python — PyRun_SimpleString блокируется всякий раз, когда используется импорт, никогда не возвращается

std::cout << "im in here!\n";
PyGILState_STATE sMain = PyGILState_Ensure();

if (sMain)
{
std::cout << "attempting\n";
PyRun_SimpleString("import sys; sys.exit();");
std::cout << "attempted!\n";
}

PyGILState_Release(sMain);

Кажется, попытка никогда не печатает, однако sMain действителен и существует
PyRun_SimpleString, кажется, никогда не возвращается вообще. Код Python, о котором идет речь, никогда не запускается.

Редактировать:
Поэтому я сузил проблему до того момента, когда я импортирую модуль в строку.
Нормальный код работает нормально, однако, если я импортирую функциональные блоки и никогда не возвращает

0

Решение

Исправил ошибку, попытался импортировать с помощью PyImport_ImportModuleNoBlock и сообщил, что блокировка модуля была удержана другим потоком. Python 2.7

0

Другие решения


По вопросам рекламы [email protected]