Вложение Python в C: проблемы с импортом локальных модулей

Мне нужно запустить скрипты Python в приложении на основе C. Я могу импортировать стандартные модули из библиотек Python, то есть:

PyRun_SimpleString("import sys") 

Но когда я пытаюсь импортировать локальный модуль, can

 PyRun_SimpleString("import can") 

возвращает сообщение об ошибке:

 Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named can 

Когда я набираю команду import can в IPython, система может ее найти.

Как я могу связать свое приложение с банком? Я попытался установить PYTHONPATH в свой рабочий каталог.

2 Solutions collect form web for “Вложение Python в C: проблемы с импортом локальных модулей”

Внедрение библиотеки Python не добавляет '' в sys.path как это делает интерактивный интерпретатор. Используйте PySys_SetPath() чтобы добавить соответствующий каталог.

Ой, посмотри, что я нашел .

Я нашел, что это работает намного более надежно,

 PyObject *sys = PyImport_ImportModule("sys"); PyObject *path = PyObject_GetAttrString(sys, "path"); PyList_Append(path, PyUnicode_FromString(".")); 
  • Как передать поток openCV на HTML-страницу?
  • cutdown uuid далее, чтобы сделать короткую строку
  • Как применить карту типа SWIG для аргумента struct с двойной указателем
  • SWIG-интерфейс библиотеки C на Python (создание «итерабельного» типа данных Python из структуры последовательности C)
  • Какие интерфейсные и серверные технологии используют Google и Facebook?
  • Анализ двоичных данных в ctypes Структурный объект через readinto ()
  • Листинг серийных (COM) портов в Windows?
  • SWIG C-to-Python Int Array
  • OS-независимая межпрограммная связь между Python и C
  • Как связать комплексный массив NumPy с функцией C с помощью ctypes?
  • Создание / включение Boost.Python в VS2013
  • Python - лучший язык программирования в мире.