как загрузить пользовательский модуль python в c

Я, на данный момент, просто пытаюсь получить этот пример, приведенный в документах python для внедрения модуля python в C для работы. Моя проблема в том, что я не могу понять, где поставить скрипт python. Моя конечная цель – иметь полный пакет python (папка с __init__.py и различные модули) для загрузки на C путем выполнения PyImport_Import(...) . Но на данный момент, просто сообщите мне, где поставить скрипт (имя файла, путь и т. Д.), Чтобы программа C была запущена.

РЕДАКТИРОВАТЬ

Я должен указать, что я пробовал. Я попытался положить файл multiply.py в локальный каталог, а также поместить его в подкаталог, который называется multiply в файле __init__.py . Во всех этих случаях я получаю ImportError: No module named multiply

One Solution collect form web for “как загрузить пользовательский модуль python в c”

Я думаю, что он должен находиться в том же каталоге или в sys.path поскольку он загружает модуль по имени, это должно работать:

 ./call multiply multiply 5 6 

Обновление: если я добавлю текущую директорию явным образом в sys.path она работает:

 Py_Initialize(); PyRun_SimpleString("import sys"); PyRun_SimpleString("sys.path.append(\".\")"); 

И это печатает:

 ./call multiply multiply 5 6 ('Will compute', 5, 'times', 6) Result of call: 30 

Обновление : я задал соответствующий вопрос, и кажется, что если вы просто добавите PySys_SetArgv он будет работать:

 Py_Initialize(); PySys_SetArgv(argc, argv); 

Причина упоминается здесь:

В противном случае (если argc равен 0 или argv [0] не указывает на существующее имя файла), пустая строка добавляется к sys.path, что совпадает с добавлением текущего рабочего каталога (".")

И это вопрос, на который вы можете проверить ответы:

Почему PyImport_Import не может загрузить модуль из текущего каталога?

  • Вставка значка в .exe с py2exe, видимая в Vista?
  • Сложный исполняемый файл Cython с файловым модулем f2py
  • Встроенная интерактивная оболочка в IPython
  • C ++ с вложением Python: сбой, если Python не установлен
  • Проблемы с tk85.dll при отключении приложения, в которое встроен интерпретатор Python
  • Python - лучший язык программирования в мире.