Как проверить, где C API ищет Python?C++

Программы на C++. Форум разработчиков
Anonymous
Как проверить, где C API ищет Python?

Сообщение Anonymous »

Я пытаюсь встроить Python в C++ и попытался скомпилировать и запустить следующее

Код: Выделить всё

int main()
{
Py_Initialize();
PyRun_SimpleString("from time import time,ctime\nprint('Today is', ctime(time()))\n");
Py_FinalizeEx();
return(EXIT_SUCCESS);
}
и я получаю сообщение об ошибке

Код: Выделить всё

Could not find platform independent libraries
Fatal Python error: Failed to import encodings module
Python runtime state: core initialized
ModuleNotFoundError: No module named 'encodings'

Current thread 0x000057a8 (most recent call first):

Я попробовал решение здесь: правильный ли мой диагноз причины «Не удалось найти независимые от платформы библиотеки » и как я могу это исправить?, но я работаю в Windows и видел некоторые противоречивые ответы о том, следует ли нам устанавливать PYTHONPATH или PYTHONHOME. Я собрал cpython из исходного кода (Python 3.13.9), и он правильно вызывает его из командной строки (а кодировки импорта не выдают никаких ошибок). Я использую Visual Studio 2022 и CMake для обработки пакетов. Ошибок при компиляции нет. Я пробовал использовать официальные примеры на сайте API Python, но все равно выдает ту же ошибку. У меня есть папка Libs и папка amd64 в системном пути. Я не использую виртуальную среду, просто вызываю созданный мной Python.
Я совершенно не знаю, что вообще можно попробовать. Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/797 ... for-python

Вернуться в «C++»