无法在Mac上安装PySide

时间:2018-03-17 21:36:33

标签: python pyside

我在安装PySide时遇到了很多麻烦。我按照本教程的建议安装了Qt和brew install qt:pyside.readthedocs.io/en/latest/installing/macosx.html。

我的Mac已更新为High Sierra 10.13.3。当我运行pip install -U Pyside时,我得到以下打印输出:

  Failed building wheel for Pyside
  Running setup.py clean for Pyside
Failed to build Pyside
Installing collected packages: Pyside
  Running setup.py install for Pyside ... error
    Complete output from command /Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -u -c "import setuptools, tokenize;__file__='/private/var/folders/4x/bkrfh91103936h2x82l9x_480000gn/T/pip-build-HTn1Jd/Pyside/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/4x/bkrfh91103936h2x82l9x_480000gn/T/pip-nRGV6n-record/install-record.txt --single-version-externally-managed --compile:
    Removing /private/var/folders/4x/bkrfh91103936h2x82l9x_480000gn/T/pip-build-HTn1Jd/Pyside/pyside_package
    running install
    running build
    Python architecture is 64bit
    error: Failed to find qmake. Please specify the path to qmake with --qmake parameter.

命令

"/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -u -c "import setuptools, tokenize;__file__='/private/var/folders/4x/bkrfh91103936h2x82l9x_480000gn/T/pip-build-HTn1Jd/Pyside/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/4x/bkrfh91103936h2x82l9x_480000gn/T/pip-nRGV6n-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/4x/bkrfh91103936h2x82l9x_480000gn/T/pip-build-HTn1Jd/Pyside/

有关如何解决此问题的任何想法?谢谢!

1 个答案:

答案 0 :(得分:0)

PySide已经过时4年了,基本上已经死了,并且不适用于4.8以后的任何Qt。但你所遵循的指示(可能也是4年过时)告诉你安装最新的Qt,目前是5.10。

要解决此问题,您需要显式安装Qt 4.8。你可以用Homebrew做到这一点:

brew install qt@4.8

但我没有测试是否有效。

此外,Homebrew的Qt软件包现在默认安装为“keg-only”链接。当您编写的旧教程被编写时,这可能不是真的。在这种情况下,您可能需要按照brew install的输出中给出的说明进行操作,这将是这样的:

If you need to have this software first in your PATH run:
  echo 'export PATH="/usr/local/opt/qt/bin:$PATH"' >> ~/.bash_profile

For compilers to find this software you may need to set:
    LDFLAGS:  -L/usr/local/opt/qt/lib
    CPPFLAGS: -I/usr/local/opt/qt/include
For pkg-config to find this software you may need to set:
    PKG_CONFIG_PATH: /usr/local/opt/qt/lib/pkgconfig

如果这听起来像是一团糟 - 或者如果你不想永远被卡在Qt 4.8上 - 那么你可能实际上并不想使用PySide。有两个主要的选择:

  • PySide2由PySide核心开发人员与官方Qt公司共同设计,作为PySide的替代品,与Qt 5(可能超出)和更新版本的OS X(以及其他平台)一起使用和Python 3,并修复了一些在没有重大变化的情况下无法修复的问题。这还没有处于稳定的1.0状态,但它已经被用于实际项目。 (我相信目标是在完成后与Qt本身同步开始版本化,因此第一个稳定版本可能是5.11或5.12,而不是1.0。)
  • PyQt是与另一家公司不同的图书馆。它今天运行稳定,但它与PySide没有相同的许可条款,也没有Qt公司的直接支持。 (IIRC,您可以获得商业许可或GPL许可,但不能获得LGPL - 但不信任我;请自行检查。)

(Christian Tismer实际上有一个PySide到Qt5的端口,但据我所知,他在几年前放弃了它以取代PySide2项目的领导,旧版本未完成,所以我不知道不用费心去寻找。)

当然,如果您正在学习Qt4和PySide的教程,那么如果您使用Qt5和PySide2或PyQt,则需要用更新的教程替换它们。