我使用boost.python创建了一个.so
模块,可以从本地文件夹中导入它。
|--my_class.so
|--python_code.py
在python_code.py中
from my_class import *
显然,如果我将python_code.py
放在另一个文件夹中,from my_class import *
就会失败。
我想知道是否有办法可以安装"我可以从任何python脚本导入gobal包位置my_class.so
。因此,my_class
与numpy
等包具有相同的状态。
答案 0 :(得分:1)
您应该能够将.so文件移动到python库路径上的某个位置。在我的机器上,一个例子是目录/usr/lib/python2.7
您可以考虑使用setup.py文件,这可以配置为处理您的构建和安装。
过去我有时只是手动将其复制到那里进行测试,或者将下面的内容放入Makefile中,以便在编译后复制:
#
# Install the python module
#
install: /usr/local/lib/python2.7/dist-packages/MyModule.so
/usr/local/lib/python2.7/dist-packages/MyModule.so: python-module
cp $(BIN)MyModule.so /usr/local/lib/python2.7/dist-packages/MyModule.so