我可以从Python设置@executable_path吗

2024-10-01 04:59:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个应用程序,它使用了一个C++封装模块,使用OGR3D。尝试运行应用程序时

python /path/to/myapp.py

我知道错误了

dlopen(./MyOgreWrapper.so, 2): Library not loaded: @executable_path/../Frameworks/Ogre.framework/Versions/1.9.0/Ogre Referenced from: /path/to/MyOgreWrapper.so Reason: image not found

我从目录运行它肌肉萎缩者位于这样的位置肌肉萎缩者可以通过Python找到。食人魔框架位于../Frameworks中相对于肌肉萎缩者. 在

^{pr2}$

我怀疑这是因为@executable_path被设置为python可执行文件的路径。在

有没有一种方法可以从Python设置环境,使@executable_path是当前目录?在

(我知道,如果我改变了食人魔的道路,一切都会成功的肌肉萎缩者还有一些与@loader_path的依赖关系,但这不是它开箱即用的方式,我宁愿不必这样做。)


Tags: 模块topathpy应用程序sonotmyapp
1条回答
网友
1楼 · 发布于 2024-10-01 04:59:41

不,无法从可执行文件中控制@executable_path@executable_path由动态加载程序dyld解析,它使用它加载的可执行文件的路径。它对任何给定的可执行文件都是固定的。在

另外,如果您可以更改它,那么可能会破坏进程尝试加载的其他内容。在

相关问题 更多 >