我试图像这样将PySide / Qt导入Python并得到以下错误:
from PySide import QtCore
ImportError: dlopen(/usr/local/lib/python2.7/site-packages/PySide/QtCore.so, 2): Library not loaded: libpyside-python2.7.1.2.dylib
Referenced from: /usr/local/lib/python2.7/site-packages/PySide/QtCore.so
Reason: image not found
我通过以下方式运行/安装:
文件libpyside-python2.7.1.2.dylib与错误消息中列出的QtCore.so文件位于同一路径中。
我对这个特定问题的所有搜索都让人们试图将这些库打包为应用程序的一部分,我没有这样做。我只是想在我的系统上运行它,但却有这个问题。对于应用程序的疑难解答,人们建议oTool;不确定它是否有用,但这是我运行oTool时的输出:
otool -L QtCore.so
QtCore.so:
libpyside-python2.7.1.2.dylib (compatibility version 1.2.0, current version 1.2.2)
libshiboken-python2.7.1.2.dylib (compatibility version 1.2.0, current version 1.2.2)
/usr/local/lib/QtCore.framework/Versions/4/QtCore (compatibility version 4.8.0, current version 4.8.6)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
有什么想法吗?在此先感谢:)
答案 0 :(得分:15)
好吧,安装程序有点坏了,因为oTool的输出应该报告库的完整路径(Pyside安装程序应该使用install_name_tool更改路径)。
我建议你定义:
,而不是疯狂地理解安装程序的哪个部分被破坏了DYLD_LIBRARY_PATH=/your/path/to/pyside/libraries
export DYLD_LIBRARY_PATH
这将强制可执行加载程序将库扫描到您提供的路径中,即使它未由链接器配置。
答案 1 :(得分:13)
如果您观看此内容,您的问题将得到修复: https://github.com/pyside/packaging/blob/master/setuptools/templates/pyside_postinstall.py
pyside_postinstall.py -install
答案 2 :(得分:3)
我遇到了类似问题,我通过手动使用with emp(empno, name, mgr) as
(
select 7788, 'SCOTT', 7566 FROM DUAL UNION ALL
select 7902, 'FORD', 7566 FROM DUAL UNION ALL
select 7566, 'JONES', 9999 FROM DUAL UNION ALL
select 7876, 'ADAMS', 7788 FROM DUAL
)
select name, mgr
from
(
select name AS MGR, connect_by_root(name) as name, level as lev, connect_by_isleaf leaf
from emp
connect by prior MGR = EMPNO
)
where leaf = 1 and lev > 1
(如问题中所示)和otool -L
来更新路径来解决问题。
install_name_tool
在脚本运行之前,我必须为PySide目录中的几个文件执行此操作。
此博客文章是一个很好的参考:http://thecourtsofchaos.com/2013/09/16/how-to-copy-and-relink-binaries-on-osx/
答案 3 :(得分:1)
我找到了解决方案here
export DYLD_LIBRARY_PATH=/usr/local/lib/python[version]/site-packages/PySide
对于python 3.5,这将是
export DYLD_LIBRARY_PATH=/usr/local/lib/python3.5/site-packages/PySide
答案 4 :(得分:0)
我在使用Brew安装的Qt和虚拟环境的Mavericks上遇到了类似的问题。
我不得不brew reinstall Qt
然后运行pyside_postinstall.py -install