SWIG src 和共享 lib 文件的位置

Location of SWIG src and shared lib files

我正在使用 SWIG 来使用 python

中的一些 C 函数

我的平台是linux/ubuntu

我已成功生成 example.py 文件并构建了 _example.so 共享库

现在我遇到的问题是 python 到 'find' _example.so 文件

我正在尝试通过我的 ~/.bashrc 文件设置相关的搜索目录

我已经包含了包含 example.py 的目录,即

export PYTHONPATH="${PYTHONPATH}:/home/me/swig_project/src/"

_example.so 位于单独的构建目录中,因此我还设置了:

export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/home/me/swig_project/build/"

当我 运行 来自 cmd 行的以下内容时,我可以看到预期的目录存在,即

echo $LD_LIBRARY_PATH
echo $PYTHONPATH

我重新运行 ldconfig 几次,因为我认为这可能是问题所在,我也退出并重新登录。

但我仍然得到错误:

ImportError: No module named _example

所以我的 python 代码带有导入语句:

import example

正在寻找 example.py 没问题,但似乎找不到 _example.so

即使我已经将包含 _example.so 的目录添加到 LD_LIBRARY_PATH

如果我将 _example.so 的副本粘贴在当前目录中,它就可以正常工作

问题解决了,example.py 的位置 _example.so 必须在 PYTHONPATH 中指定。

不是我错误假设的 PYTHONPATH 上的 example.pyLD_LIBRARY_PATH 上的 _example.so

纠正后 Import Module Error 停止

然后我开始收到 undefined symbol 错误,但那是另一个问题..