В настоящее время я упрощаю процесс упаковки.
У меня есть большая библиотека с открытым исходным кодом на C ++, которая обычно предназначена для установки в системе, но я хочу, чтобы она была установлена локально в python virtualenv, как это
cd /path/to/mycpplibrary
sh ./autogen.sh
./configure –prefix=/home/user/virtualenvs/myvirtualenv (absolute path needed here)
make
make install
Эти команды компилируются и отправляют файл .so в папку. /home/user/virtualenvs/myvirtualenv
Теперь у меня есть пакет Swig, который использует эту библиотеку. Эти команды генерируют файл wrapped.cpp
cd /path/to/swig-package
workon myvirtualenv
python setup.py wrap
И теперь пришло время скомпилировать его, но он ссылается на ранее созданный файл .so
LD_RUN_PATH=/home/user/virtualenvs/myvirtualenv/lib/ python setup.py build
python setup.py install
Мне нужно уточнить LD_RUN_PATH=/home/user/virtualenvs/myvirtualenv/lib/
для процесса сборки, чтобы найти файл .so.
Это процесс установки, который кажется сложным. Я просто не думаю, что помещение всей командной строки в файл .sh является хорошим решением. Как я могу упаковать мой swig-пакет, который содержит library.so
файл и wrapped.so
файл в одно яйцо или колесо?
Спасибо
Задача ещё не решена.