为Python3安装PySide

16

当我尝试为Python-3.6安装PySide时,它说只兼容到Python-3.4。是否有任何解决方法可以在Python-3.6上安装它?

似乎只支持这些Python版本:

[(2, 6), (2, 7), (3, 2), (3, 3), (3, 4)].

2
你在哪个平台上? - ekhumoro
我也遇到了同样的问题,但是我想补充一下我的平台信息:64位Windows 10,Python 3.6.4 32位。 - pipe
什么Qt版本? - Vladimir
好消息!PySide2上个月已正式发布:https://wiki.qt.io/Qt_for_Python。所以只需要运行`pip3 install PySide2`就可以了。 - Demi-Lune
1个回答

26
从PyPI安装官方的二进制包,其中包含一个捆绑的Qt,因此完全可移植,以获得最新的PySide。

  • 对于Qt5 - [Python 2.7 / Python >= 3.5]:

  •   pip install pyside2
    
  • 对于Qt6 - [Python >= 3.6]:

      pip install pyside6
    

  • 以下内容涉及 PySide-1.2/Qt4 ,除非您需要支持传统系统,否则已不再相关。

    首先要指出的是,PySide依赖于Qt4,后者已不再得到官方支持(自2015年12月起)。因此,所有开发工作现在都集中在PySide2和Qt5上。根据此跟踪器问题,没有计划正式支持Python-3.4以外的PySide——主要是由于资源缺乏以及在Windows上编译的困难。目前的立场(截至2017年2月),似乎可以通过这篇文章来概括:

    最后一次基本上被留下,因为需要修改Qt 4.8和PySide源代码,以使用用于Python 3.5的编译器进行编译。此外,Qt 4.8已不再受支持,而PySide不应该用于新项目。 PySide2是下一个版本,是Python和Qt的未来,并支持Python 3.5。您可以在Qt Wiki上了解更多信息。

    尽管如此,目前有几个Linux发行版仍维护支持Python-3.5和/或Python-3.6的PySide软件包。这通常只需要对生成绑定的shiboken工具进行小修补(例如,参见Arch Linux PKGBUILD)。此外,在Christoph Gohlke的非官方Windows二进制文件网站上有Windows轮。 (恐怕我对Mac情况不是很了解,但我找到了这个针对Python-3.5版本的编译文件)。

    因此,PySide本身仍然与Python-3.5和3.6兼容,但官方安装程序不兼容。但是,如果您愿意打补丁工具链或使用非官方二进制文件,则不应该成为问题。实际上,PySide和Qt4现在是冻结的代码库,因此,除非对Python进行了一些真正激进的更改,否则它应该仍然适用于未来的几个版本。但未来是 PySide2


    @holdenweb。那么对于您来说,pyside + qt4是唯一现实的选择吗?因为考虑到这些库的当前遗留状态,我认为没有什么更多的话可说了。就个人而言,我会非常不情愿地开始一个依赖于两个如此庞大的库且没有官方支持的项目。现有的项目还好,因为它们已经知道错误在哪里,并且可以解决它们。但是如果你进行了一半,发现了一个无法解决的问题怎么办?如果你想使用python + qt,唯一明智的选择是pyqt5或pyside2(希望今年能够发布第一个正式版本)。 - ekhumoro
    @holdenweb。我不明白你所说的“开源图形支持普遍的危险状态”的意思。你可以使用pyqt4/5与python-2.7 - python-3.x 现在进行GPL开源项目。它具有完整的跨平台支持,并且得到了非常积极的维护。在不久的将来,您还可以选择LGPL与pyside2/qt5/python3。不幸的是,pyside目前正在过渡期。当诺基亚将qt出售给digia时,pyside失去了整个开发团队。但主要归功于Christian Tismer的努力,他们现在正在重建。 - ekhumoro
    在看到你的回答之前,我不知道pyside和pyside2之间的区别。把一个不支持3.5或3.6版本的包称之为“积极维护”似乎不太公平,但我想这是一个观点问题。我也不了解开发团队的历史。我知道Chris Tismer是一位非常有能力的工程师。 - holdenweb
    @holdenweb。我说pyqt4/5正在积极维护,这是一个完全不同的项目,与pyside无关。而且,正如我已经多次指出的那样,pyside2确实支持python-3.5和3.6。 - ekhumoro
    啊,好的。话虽如此,你显然已经了解了pyside(2)/Qt世界的现状,我感谢你的贡献。 - holdenweb
    显示剩余5条评论

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接