Вызов файла python из C ++ с использованием Xcode в Ma c 10.15 - PullRequest
0 голосов
/ 07 мая 2020

Я хотел запустить файл .py (python) из XCODE (C ++). Ниже приведен код, который я написал.

int main(int argc, const char * argv[])
{
    char filename[1024];
    strcpy(filename, "/<some location>/downloader.py");
    FILE* fp;
    Py_Initialize();
    fp = fopen(filename, "r");
    PyRun_SimpleFile(fp, filename);
    Py_Finalize();
    return 0;
}

В этом «downloader.py» я импортировал модули «запросы», «sys» и c для достижения определенной функциональности. Для этого требуется python3. Это нормально работает, когда я запускал редактор PyChamCE (который имеет конфигурацию python 3.7).

Когда я вызываю тот же самый «downloader.py» из моей программы на C ++, он зависает в «PyRun_SimpleFile (fp, filename);». И это происходит, когда у меня есть модуль запросов, импортированный в мой "downloader.py" (запросы на импорт). И этого не происходит, когда я удаляю строку «запросы на импорт» из «downloader.py».

Показано python по умолчанию (я запускал python --version в терминале): «Python 3.8.2 ". Я изменил значение по умолчанию python 2.7.16 на 3.8.2, запустив "python = '/ usr / local / bin / python3'". И, python3 имеет в себе модуль 'запросы'.

У меня есть вопросы (сомнения).

  1. Почему "PyRun_SimpleFile (fp, filename);" линия висит, хотя я установил значение по умолчанию python как 3.8.2.

  2. Нужно ли мне делать какие-либо специальные настройки c в XCODE (я использую XCODE 11 в macOS 10.15 .5).

Любая помощь будет действительно заметна.

С уважением, Шанкаран

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...