Помимо решения задания пути в скрипте Python, представленного @super, у вас есть еще два общих решения.
Настройка PYTHONPATH
Существует переменная окружения в Linux (и macOS) называется PYTHONPATH
.Если вы добавите путь, содержащий ваш *.so
к PYTHONPATH
до вызова Python, Python сможет найти вашу библиотеку.
Для этого:
export PYTHONPATH="/path/that/contains/your/so":"${PYTHONPATH}"
Комуприменять это «автоматически» для каждого сеанса, вы можете добавить эту строку к ~/.bash_profile
или ~/.bashrc
(см. ту же ссылку).В этом случае Python всегда сможет найти вашу библиотеку.
Копирование вашего пути в путь уже в пути Python
Вы также можете «установить» библиотеку.Обычный способ сделать это - создать файл setup.py
.При правильной настройке вы можете собрать и установить свою библиотеку, используя
python setup.py build
python setup.py install
(Python будет знать, где разместить вашу библиотеку. Вы можете немного «настроить» с помощью опции, подобной --user
, чтобы использовать свой домашнийпапку, но это, кажется, не представляет особого интереса для вас.)
Остается вопрос: Как написать setup.py
?Для вашего случая вы можете позвонить CMake.На самом деле существует пример, который делает именно это: pybind / cmake_example .Вы можете в основном копировать-вставить оттуда.