我目前正在简化我的包装流程。
我有一个C ++中的大型开源库,通常设计为安装在系统中,但我希望它能像本地一样安装在python virtualenv中
cd /path/to/mycpplibrary
sh ./autogen.sh
./configure –prefix=/home/user/virtualenvs/myvirtualenv (absolute path needed here)
make
make install
Theses命令编译并将.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文件是一个很好的解决方案。如何将包含library.so
文件和wrapped.so
文件的swig-package打包到一个鸡蛋或滚轮中?
感谢