在Mac上安装PySide:有一种工作方法吗?

fra*_*lau 7 macos qt python-2.7

我可能做错了,但我一直在尝试在Mac 10.12(Sierra)上安装pyside.这是我尝试的(在使用brew安装Qt之后):

  • 使用预编译包(1.2.1); 由于"不兼容的包"而失败.
  • 使用sudo -H pip install pyside(1.2.4):失败并出现以下错误:
 Qt QTGUI library not found.
 Qt QTXML library not found.
 Qt QTCORE library not found.
 CMake Error at ApiExtractor/CMakeLists.txt:82 (qt4_add_resources):
  Unknown CMake command "qt4_add_resources".
Run Code Online (Sandbox Code Playgroud)
  • 使用brew install pyside==1.2.2:工作成功,但从python程序调用它时失败ImportError: dlopen(/Library/Python/2.7/site-packages/PySide/QtCore.so, 2): Libmrary not loaded: libpyside-python2.7.1.2.dylib Referenced from: /Library/Python/2.7/site-packages/PySide/QtCore.so Reason: unsafe use of relative rpath libpyside-python2.7.1.2.dylib in /Library/Python/2.7/site-packages/PySide/QtCore.so with restricted binary

最后一个确实提供了一些希望,我尝试了PySide导入错误Mac OS X El Capitan,未加载库:@ rpath/libpyside.cpython-34m.1.2.dylib.不幸的是,解释是相当椭圆的,我最终进一步破坏了事情.

我错过了一些明显的东西吗 事实上预编译的包是旧的,Web文档没有更新,brew安装似乎不起作用(文档没有提到它)和一般问题有关pyside的问题以及答案的技术复杂性似乎没有很好的迹象.

从技术上讲,有人知道PySide在Mac OS上安装的问题是什么吗?在我的特定情况下,最好的解决方案是什么?

更一般地说,Mac上的PySide有希望改进吗?

更新(2017年1月25日):解决方法?

由于我们正在等待Pyside的更新,有人愿意接受使用brew在OS Sierra上安装1.2.2挑战,并解决"相对路径的不安全使用"吗?也许提出一步一步的教程?

这可能为Mac上的PySide节省了一天......同时减轻了Pyside开发团队的时间压力?

小智 6

我有MAC osSierra(10.12.6).我需要为Python 3.3.6安装PySide 1.2.4.我做了以下工作来构建和安装我需要的PySide 1.2.4.我猜你可以对任何Python 3.3.x执行以下操作.

我是Mac和Python的新手.如果我有任何错误,请忽略.

  • 安装pyenv
    brew install pyenv
  • 使用pyenv
    pyenv install 3.3.6 安装Python 3.3.6
  • 将python 3.3.6添加到系统路径中
    PATH ="/ Users/myname/.pyenv/versions/3.3.6/bin:$ {PATH}"
    export PATH
  • 从app store安装Xcode,然后运行以下命令.Xcode下载和安装需要30-40分钟.
    xcode-select --install
    sudo xcodebuild -license
  • 安装cmake
    brew install cmake
  • 验证是否已安装cmake.我看到版本3.10.0安装了
    cmake -version
  • 点按qt4.注意:我尝试了qt5,但pyside build对我来说不适用于qt5.
    brew tap cartr/qt4
    brew tap-pin cart/qt4
  • 安装qt @ 4.
    brew install qt @ 4
  • 验证是否已安装qmake.我看到版本2.01a已安装
    qmake -version
    (如果无法识别qmake,请使用以下命令创建指向它的链接)
    brew link cartr/qt4/qt @ 4 --force
  • 如果您在程序中使用"PySide.QtWebKit",则需要安装qt-webkit.安装pyside(1.2.2 ??),将安装qt-webkit.我不确定是否可以直接安装qt-webkit,如果有人可以纠正我.
    brew安装pyside
  • 下载PySide 1.2.4 tar文件.
    wget https://pypi.python.org/packages/source/P/PySide/PySide-1.2.4.tar.gz

  • 解压tar文件 tar -xvf PySide-1.2.4.tar.gz
  • 进入文件夹
    cd PySide-1.2.4
  • 建造pyside.这个构建步骤花了将近30-40分钟为我
    python setup.py bdist_wheel
  • 验证是否已创建"dist"文件夹并且其中包含pyside wheel文件.
  • 进入"dist"文件夹
    cd dist
  • 安装PySide,最后一步!!
    pip安装PySide-1.2.4-cp33-cp33m-macosx_10_12_x86_64.whl
  • 恭喜!,现在你有Python 3.3.x的PySide 1.2.4


min*_*eek 1

这不是答案,但不幸的是,pyside 团队还没有针对 macOS sierra 的任何输出。仅支持苹果的操作系统

\n\n
    \n
  • 10.6\xc2\xa0Snow LeopardOS X

  • \n
  • 10.7\xc2\xa0LionOS X

  • \n
  • 10.8\xc2\xa0Mountain LionOS X

  • \n
  • 10.9 MavericksOS X

  • \n
  • 10.10\xc2\xa0优胜美地

  • \n
\n\n

更新:(你仍然可以尝试这个)

\n\n
 curl -O https://raw.githubusercontent.com/Homebrew/homebrew-core/fdfc724dd532345f5c6cdf47dc43e99654e6a5fd/Formula/qt5.rb\n\n brew install ./qt5.rb\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n\n

如果以上行不起作用:

\n\n

你\xe2\x80\x99将需要Xcode命令行工具:

\n\n
  xcode-select --install sudo xcodebuild -license \n
Run Code Online (Sandbox Code Playgroud)\n\n

然后可以通过\xc2\xa0brew轻松安装以下软件包:

\n\n
  brew install qt5 cmake libxslt libxml2 \n
Run Code Online (Sandbox Code Playgroud)\n\n

这将在您的系统中安装 Qt 5.6.1-1 和 cmake 3.5.2

\n\n

现在是克隆的时候了!不是来自 github,而是来自此链接:\n因此克隆 \xc2\xa0pyside-setup\xc2\xa0repository 并让它也拉下其 gitmodules:

\n\n
 git clone --recursive https://codereview.qt-project.org/pyside/pyside-setup\n
Run Code Online (Sandbox Code Playgroud)\n\n

此命令对于使用 Python 2.7.11 和 Python 3.5.1 的人来说效果很好。请记住将 pip 与 \xc2\xa0wheel\xc2\xa0 软件包一起安装,否则你\xe2\x80\x99 将收到有关 \xc2\xa0bdist_wheel 的错误。

\n\n
 python setup.py bdist_wheel --ignore-git --qmake=/usr/local/Cellar/qt5/5.6.1-1/bin/qmake --cmake=/usr/local/bin/cmake --openssl=/usr/local/Cellar/openssl/1.0.2h_1/bin\n
Run Code Online (Sandbox Code Playgroud)\n\n

(注意:\n参数中给出的确切路径在您的系统上可能不相同,因此请在编译之前验证这些路径)

\n\n

安装轮子:

\n\n

希望在 dist 文件夹中构建一个轮子。所以只需\xc2\xa0cd dist\xc2\xa0and\xc2\xa0pip install\xc2\xa0away!

\n\n

预编译轮子的注意事项

\n\n

不幸的是,与 PySide 一样,这些轮子不是 \xe2\x80\x9cportable\xe2\x80\x9d,并且不会 \xe2\x80\x99t 安装在未安装 \xe2\x80\x99t 的特定 Qt5 版本的系统上编译期间。我相信,这是因为 PySide2 动态(而不是静态)链接到 Qt5 安装。希望 Qt 公司将通过官方 PySide2 轮来解决这个问题,因为 Riverbank Software 现在为 Python 3 提供完全可移植的 PyQt5 轮,这绝对是很棒的。

\n\n

新存储库(不是来自 github)

\n\n

参考

\n