我有一些C代码,还有一个Python(3.8(接口,我可以安装这个共享对象(在Linux上的/usr/local/...
中(,并针对它运行Python脚本,一切都很好。
但我想在安装之前加载.so
文件,这样我就可以对它进行一些测试。据我所知,LD_LOAD_PATH
是我的朋友,但我如何才能获得构建目录?在我的案例中,.so
是在中构建的
build/lib.linux-x86_64-3.8/maxmodnb.cpython-38-x86_64-linux-gnu.so
那么有什么简单的方法可以得到lib.linux-x86_64-3.8
吗?
可能我问错了问题:有没有一种简单的方法可以在安装之前加载这个文件?
[编辑]
当然,LD_LOAD_PATH
与此无关,只需将该目录添加到PYTHONPATH
中即可。
我找不到一个简单的方法,但这个逆向工程脚本似乎做到了:
from sys import platform, version_info
from os import uname
print(
'lib.%s-%s-%i.%i' % (
platform,
uname()[4],
version_info[0],
version_info[1]
)
)
它给出
$ python python-so-dir.py
lib.linux2-x86_64-2.7
$ python3 python-so-dir.py
lib.linux-x86_64-3.8
正如预期的那样。