Я хотел запустить файл .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 имеет в себе модуль 'запросы'.
У меня есть вопросы (сомнения).
Почему "PyRun_SimpleFile (fp, filename);" линия висит, хотя я установил значение по умолчанию python как 3.8.2.
Нужно ли мне делать какие-либо специальные настройки c в XCODE (я использую XCODE 11 в macOS 10.15 .5).
Любая помощь будет действительно заметна.
С уважением, Шанкаран