【发布时间】:2019-03-03 13:58:18
【问题描述】:
我正在尝试使用应用程序附带的 Houdini Python 模块,它是标准 Python 路径之外的 Houdini 安装文件夹的一部分。按照安装说明运行 Houdini Terminal 16.5.571 脚本并将/Applications/Houdini/Houdini16.5.571/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/python2.7libs 添加到我的_virtualenv_path_extensions.pth 文件夹中的site-packages 可以导入hou 模块,即Python 部分.但是它无法加载动态库。
错误信息
Traceback (most recent call last):
File "myscript.py", line 7, in <module>
import hou
File "/Applications/Houdini/Houdini16.5.571/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/python2.7libs/hou.py", line 19, in <module>
import _hou
ImportError: dlopen(/Applications/Houdini/Houdini16.5.571/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/python2.7libs/_hou.so, 2): Library not loaded: @rpath/Houdini.framework/Versions/16.5.571/Houdini
Referenced from: /Applications/Houdini/Houdini16.5.571/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/python2.7libs/_hou.so
Reason: image not found
错误消息中提到的所有文件和文件夹都位于 Houdini 路径 /Applications/Houdini/Houdini16.5.571/Frameworks/Houdini.framework/Versions/Current 中,Current 是指向 16.5.571 的符号链接。
Python 模块
Resources/houdini/python2.7libs/hou.py
找到 Python 模块。
共享库
Resources/houdini/python2.7libs/_hou.so`
这包含对@rpath/Houdini.framework/Versions/16.5.571/Houdini 的引用,它可能正在尝试查找。
Houdini
这似乎链接到实际的dylib 文件,包含@loader_path/Libraries 和dylib...@rpath/libHoudiniUI 等以及许多其他文件。
我在这里读到Cannot find dynamic library when running a Python script from Bazel 说 SIP 可能会导致它,但即使在 ln -s 共享库进入 /usr/local/lib 之后,错误仍然发生。
我正在使用pyenv,但尝试使用系统 Python 环境,导致相同的行为。
有什么建议吗?
【问题讨论】:
标签: python macos shared-libraries dylib houdini