Импорт общего объекта в Python с помощью pybind11C++

Программы на C++. Форум разработчиков
Ответить
Гость
 Импорт общего объекта в Python с помощью pybind11

Сообщение Гость »


Я пытаюсь вызвать файл .so из скрипта Python. Я использовал pybind11 a для создания .so с функцией «привет», которую я хочу вызвать из своего кода Python. Очевидно, чтобы его можно было импортировать, оно должно иметь определенное имя, например: «libtest.cpython-311-x86_64-linux-gnu.so». Благодаря этому я могу импортировать его как «libtest», а затем вызвать функцию hello (которая находится внутри общего объекта). Но есть две проблемы:
[*]
Моя среда IDE (CLion), похоже, вообще не понимает, что импортируется, и выделяет import libtest как ошибку, хотя я могу выполнить это нормально. (Вероятно, это вопрос не для SO, но если кто-то знает, пожалуйста, дайте мне знать)
[*]
Я могу импортировать модуль libtest только в том случае, если .so находится в той же папке, что и мой скрипт Python. Есть ли способ импортировать его независимо от пути, например, могу ли я импортировать его из /usr/bin? Я попытался добавить его в $PATH, но, похоже, это ничего не дало. Так как же можно «объединить» .so и скрипт, чтобы их можно было легко загрузить?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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