web-dev-qa-db-ja.com

WindowsにPyQt5をインストールするにはPython 2?

LinuxからWindowsにPyQt5を使用するPython 2アプリを移植しています。

質問:PyQt5をWindowsにインストールするにはどうすればよいですか?

私が試したこと:

  1. pip install PyQt5は失敗します:

    Downloading/unpacking PyQt5
      Could not find any downloads that satisfy the requirement PyQt5
    Cleaning up...
    No distributions at all found for PyQt5
    Storing debug log for failure in C:\Users\user\pip\pip.log
    
  2. Windowsインストーラーを探しています 公式Webサイト ですが、Python 2。

私は何をしますか?

15

これは非常に古い質問ですが、1週間前にこの質問に適切な回答があった場合、非常に便利だと思いました。これが、望ましい結果を達成するために私がしたことです。お気づきのように、PyQt5とPython 2.7でサポートされているパッケージはないため、自分でビルドする必要があります。ありがたいことに、プロセスは非常に簡単です。前提として、Python 2.7がインストールされています。

  1. MS Visual C++の有効なインストールが必要になります。私はプロフェッショナル版を持っていますが、コミュニティー版も機能すると思います。
  2. 適切なバージョンのqtが必要になります。 32ビットを使用している場合Python 32ビットのQtを取得していることを確認してください。また、(それは問題ではないと私が思うに)、Qtのバージョンを取得していることを確認しましたそれは私が持っているのと同じバージョンのMSVCコンパイラでビルドされました。QtインストールとPyQtの間に静的リンクがある場合、これは重要になる可能性があります(リンクされたオブジェクトファイルのバイナリ非互換性が発生する可能性があります)。 http://download.qt.io/ Qtにはライセンスに関して特別な考慮事項があるため、 https://www.qt.io/downloadを参照することをお勧めします。 / 最初に。
  3. Qtインストールのbinサブディレクトリがシステムパスにあることを確認してください。
  4. SIPのソースを取得します。 SIPはriverbankcomputing.comから入手できます。バージョン4.18を使用しました。
  5. SIPを構築およびインストールするには、3つのコマンドがあります。これらのコマンドを標準のシェルから実行しないでください。代わりにVisual Studioツールのコマンドシェルを使用して、パスにコンパイラーを含め、INCLUDE、LIBS、およびLIBPATH環境変数を設定します。

    python configure.py

    Pythonの仮想環境を使用している場合、Python includeサブディレクトリの場所への依存関係をハードコードするため、SIPLibのmakefileを変更する必要がある場合があります。とlibsサブディレクトリです。システムにポイントすることを選択しましたPython install(c:\ Python27\include and c:\ Python27\libs。)

    nmake

    nmake install

    このステップの最後の部分は、sip.exeプログラムがパスの一部である場所に配置されていることを確認することです(これは、仮想Python =環境。スクリプトディレクトリにプログラムをコピーしました。)

  6. 以前入手したQtのバージョンに対応するバージョンのPyQtのソースを取得します。これはsourceforgeのPyQtプロジェクトから入手でき、最新バージョンはriverbankcomputing.comから入手できます。

  7. 同じプロセスを繰り返します。

    python configure.py

    nmake

    nmake install

    sIPの構築に使用したこと。この場合、生成されるメイクファイルの数が多すぎます(仮想環境によっては、python27.libファイルとヘッダーの場所が間違っている可能性があります)。python27.libファイルを次の場所にコピーしました。 makefileは期待しています。同様に、システムパスの一部ではない場所(pyuic5、pyrc5、およびpylupdate5)にインストールされている3つのアプリケーションがあり、これらもパス内の場所にコピーしました。

できました。 PyQt5/Python2.7アプリケーションを構築できるはずです。

19
Peter Du
pip install python-qt5

WindowsでPython 2.7 64ビット用のPyPIを介して非公式のPyQt5をインストールします

このためのGithub: https://github.com/pyqt/python-qt5

3
bigwillydos

PyQt5のインストールに関する興味深いガイドがあり、SIP for Python2.7: https://blog.synss.me/2018/how-to-install-pyqt5-for- python-27-on-windows /

それを思い出すには、最初にすべてのpipおよびvirtualenvモジュールをインストールして、pythonがインストールされる場所の仮想環境を作成する必要があります。その後、- Peter D 回答ですが、設定オプションで強調したいと思います。

python configure.py ^
--confirm-license ^
--no-designer-plugin ^
--no-qml-plugin ^
--assume-shared ^
--disable=QtNfc ^
--qmake=C:\Qt\%_QTVERSION%\msvc2015\bin\qmake.exe ^
--sip=%VIRTUAL_ENV%\Scripts\sip.exe

この場合、QtのバージョンはPyQtのバージョンと類似している必要があります。

強調すべきもう1つのポイントは、バージョンです。 SIP 4.19.13およびPyQt5 5.11.3の最新バージョンでプローブしましたが、正しくインストールできたとしても、モジュールを起動してインポートすることができませんでした。 Visual Studioの開発者コンソールを使用している場合、欠落しているsipモジュールに関連するエラーメッセージが表示され、共通コンソールで使用している場合、欠落しているDLL、 DLLの読み込みに失敗しましたPyQt5をインポートするとき

上記の例のように、SIP 4.19.8およびPyQt5 5.10.1でも試しましたが、このバージョンのPyQt5には、Visual Studio 2017のコミュニティバージョンでいくつかの問題があります。 。

最後に、SIP 4.19.13とPyQt5 5.7.1とPython 2.7.15でコメントしているように、 Peter D 回答、Qt 5.7(Qt Maintenanceツールによって表示されるリストからこのバージョンを選択してインストールされます)およびVisual Studio 2017 Community Edition、MSVC2015をコンパイラとして使用。

注:

この方法でインストールされたPyQt5を使用するスタンドアロンアプリケーションを従来のCMDから実行する場合は、2つのオプションがあります。

  1. コピーDLLからファイルをC:\Qt\%_QTVERSION%\msvc2015\binから%VIRTUALENV%\Lib\site-packages\PyQt5仮想環境にインストールされている場合、またはC:\Python27\Lib\site-packages\PyQt5https://github.com/x64dbg/PyQt5 で指摘されているように、ベースファイルにインストールされている場合。
  2. 追加 C:\Qt\%_QTVERSION%\msvc2015\bin WindowsのPATH環境変数に。