Python 将共享对象作为模块导入失败
我要创建具有以下结构的包:Python 将共享对象作为模块导入失败,python,python-import,Python,Python Import,我要创建具有以下结构的包: file.py package_name/ package_name/__init__.py package_name/module_a.py package_name/module_b.so 模块a使用模块b并且工作良好。但是,如果尝试从file.py加载包package\u name或包含的模块module\u a,则会发生错误,无法找到module\u b 我做错了什么?您的LD\u LIBRARY\u路径包含当前工作目录的。如果您直接调用module\u a
file.py
package_name/
package_name/__init__.py
package_name/module_a.py
package_name/module_b.so
模块a
使用模块b
并且工作良好。但是,如果尝试从file.py
加载包package\u name
或包含的模块module\u a
,则会发生错误,无法找到module\u b
我做错了什么?您的
LD\u LIBRARY\u路径
包含当前工作目录的
。如果您直接调用module\u a
,它就是它所在的目录;如果您调用file.py
它就是file.py
的目录,在那里找不到库。您可以使用多个选项来更改它
- 在环境中更改您的
LD\u库路径。这可以在.bashrc中,在调用python文件的shell脚本中完成,方法是在调用前加上
,或者在python中修改LD_LIBRARY\u PATH=/your/PATH
os.environ
- 您还可以将库符号链接到其他文件夹
- 您可以将库安装到系统范围的库文件夹中