【问题标题】:Installing PyQt安装 PyQt
【发布时间】:2014-03-27 05:24:34
【问题描述】:

我正在尝试在我的 mac 上安装 PyQt,以便我可以安装 python ghost。我已经安装了 Qt 和 SIP。我已经下载了 PyQt,但是当我运行时

python configure-ng.py    

我收到以下错误:

Error: Use the --qmake argument to explicitly specify a working Qt qmake.

对我应该做什么有什么想法吗?

【问题讨论】:

  • 你应该明确指定一个有效的Qt make。
  • 我该怎么做?我是下载 qmake 还是自己创建?我对 Qt 不是很熟悉。
  • @user3417176。 qmake 是 Qt 的一部分。您需要指定它的路径,例如--qmake path/to/qt/bin/qmake
  • 它应该是你安装 Qt 的地方。如果您没有在其他地方指定,我认为它默认为您的主目录。 python configure.py --qmake ~/Qt/5.2.1/clang_64/bin/qmake
  • 如果它不在主目录中,那么它可能在 /usr/local 的某个地方。

标签: python qt pyqt qmake


【解决方案1】:

由于您使用的是 Mac,我会使用 Homebrew。前几天这对我有用,但花了很长时间才完成:

brew install pyqt

【讨论】:

  • 不幸的是,这在虚拟环境中表现不佳。
  • 我最近发现了 vext.pyqt4vext.pyqt5 包,它们允许虚拟环境访问全局安装的 pyqt 库。使用Riverbank 提供的二进制安装程序非常适合我。
【解决方案2】:

configure-ng.py 需要 qmakesip 来配置构建过程。

错误消息意味着configure-ng.py 找不到qmake 可执行文件。您需要指定其位置,如下所示:

$ python configure-ng.py --qmake=/path/to/qmake

qmake 的位置取决于 1) 您如何安装它以及 2) 您正在使用的操作系统。


对于 Mac OS,不那么痛苦的方法(就我而言)是使用 Homebrew 安装 sipqmake

$ brew install sip

$ brew install qt

brew 将它们安装在目录中:/usr/local/Cellar/

然后,运行 configure-ng.py 并指定两个位置:

$ python configure-ng.py --qmake=/usr/local/Cellar/qt/VERSION/bin/qmake --sip=/usr/local/Cellar/sip/VERSION/bin/sip

如果一切顺利,继续 PyQt 安装:

$ make 

make 需要一段时间(在我的情况下大约需要 20 分钟)。

最后,安装:

$ make install

make 可能需要管理员权限$ sudo make

【讨论】:

    【解决方案3】:

    无需命令行使用 PyCharm IDE。我也不需要安装 Qt。:

    • 下载 Python 3.6.1(双击安装)。
    • 下载 PyCharm IDE(双击安装)。
      • 转到 PyCharm>Preferences>Project Interpreter。
      • 将项目解释器路径指向 python.3.6.1
      • '+'按钮,搜索pyqt5。选择 PyQt5 版本 5.8.2,然后点击安装包。

    它将自动安装 PyQt 5.8.2 和 SIP。刚刚安装后,回到 Project Interpreter 并确保 SIP 也已安装。如果未安装:“+”按钮并安装 sip。

    试试这个代码,看看它是否也适合你。 :)

    #!/usr/bin/env python3
    
    from PyQt5.QtWidgets import QLabel, QVBoxLayout, QWidget
    from PyQt5.QtCore import Qt
    
    
    class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        self.initUI()
    
    def initUI(self):
        self.setFixedSize(200, 100)
        self.setWindowTitle('Example')
        label = QLabel('Hello')
        layout = QVBoxLayout()
        layout.addWidget(label)
        layout.setAlignment(Qt.AlignCenter)
        self.setLayout(layout)
    
    
    if __name__ == '__main__':
    
    import sys
    from PyQt5.QtWidgets import QApplication
    
    app = QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec_())
    

    【讨论】:

      猜你喜欢
      • 2012-12-02
      • 1970-01-01
      • 1970-01-01
      • 2014-05-25
      • 1970-01-01
      • 2021-06-01
      • 2012-05-21
      • 2013-07-30
      • 2021-06-22
      相关资源
      最近更新 更多