Ошибка импорта: libxxx: невозможно открыть файл общего объекта: такого файла или каталога нет.Python

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

Сообщение Anonymous »

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

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

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 ++, я получаю: < /p>

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

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»