Importerror: libxxx: не может открыть файл общего объекта: нет такого файла или каталогаPython

Программы на Python
Ответить
Anonymous
 Importerror: libxxx: не может открыть файл общего объекта: нет такого файла или каталога

Сообщение Anonymous »

Я пытаюсь создать пакет Python, который взаимодействует с кодом C++. Я создал оболочку PyBind11 для взаимодействия. Я создал файл setup.py, следуя инструкциям здесь:

Код: Выделить всё

from pybind11.setup_helpers import Pybind11Extension

ext_modules = [
Pybind11Extension(
"python_example",
sorted(glob("src/*.cpp")),  # Sort source files for reproducibility
extra_link_args=[f"-Wl,-rpath,$ORIGIN"]
),
]

setup(..., ext_modules=ext_modules)
Я установил extra_link_args=[f"-Wl,-rpath,$ORIGIN"], поскольку я понимаю, что это встроит источник в путь поиска собственных библиотек. (Я тоже пробовал без него, но безуспешно). Мой модуль C++ зависит от общей библиотеки, которую я помещаю рядом с __init__.py. Но когда я пытаюсь импортировать свой модуль C++, я получаю:

Код: Выделить всё

ImportError: libxxx: cannot open shared object file: No such file or directory
структура моего проекта после установки с использованием PIP Install. похоже на это:

Код: Выделить всё

$ ls venv/lib/python3.10/site-packages/my_package
__init__.py  __pycache__  libxxx.so
Как исправить ошибку?

Подробнее здесь: https://stackoverflow.com/questions/793 ... -directory
Ответить

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

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

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

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

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