Windows10で3dsmax2018以降開発用のPySide2をビルドする その2(実行編)

2020年3月2日

その1でビルドの準備が整ったので、いざビルドを実行してみましょう。

VC++2015 64ビット版のコマンドプロンプトを起動する

VC++2015用のに付属のコマンドプロンプトを管理者として実行します。Windowsのスタートメニューから探し、右クリック→その他→管理者として実行 で起動します。

VS2015 x64 Native Toolsという名前のものを起動します

必ず64ビット版のものを起動する点に注意してください。

起動したらディレクトリを移動しておきましょう。

cd %USERPROFILE%\Documents\dev

一時環境変数の追加

set LLVM_INSTALL_DIR=%USERPROFILE%\Documents\dev\libclang
set PATH=%USERPROFILE%\Documents\dev\libclang\bin;%PATH%

virtualenvの起動

call venv\Scripts\activate.bat

起動したらプロンプトの変化を確認してください。先頭に(venv)がついていればvenv環境下にあります。※venvは仮想環境を作成するときにつけた名前です。適宜読み替えてください。

ソースのディレクトリに移動

cd pyside-setup

セットアップスクリプトを実行

ここでいよいよビルドを実行しますが、その前にいくつか必要なパスがあるので、まとめてテキストファイルにでもメモしておくことをお勧めします。かなり長いオプションを入力することになるので、コマンド全文をメモ帳等で入力しておいてコピー&ペーストすると良いでしょう。

必要なのは

  • qmakeのパス
  • cmakeのパス
  • opensslのパス

です。qmakeはQt5.6.2をインストールしたフォルダ内にあります。私のところでは{インストールしたフォルダ}\5.6\msvc2015_64\binにありました。qmake.exeまでのフルパスをメモします。

cmakeも同様にcmake.exeまでのフルパスをメモします。私のところでは C:\Program Files\CMake\bin\cmake.exe  でした。

opensslについてはopenssl.exeのあるフォルダまでのパスをメモします。私のところではC:\Program Files (x86)\GnuWin32\binでした。

これらをつないでコマンドを作成します。かなり長いので間違えないように注意してください。(それぞれのパスは適宜読み替えてください。)

python setup.py bdist_wheel --version="5.6" --qmake="C:\Qt\Qt5.6.2\5.6\msvc2015_64\bin\qmake.exe" --cmake="C:\Program Files\CMake\bin\cmake.exe" --openssl="C:\Program Files (x86)\GnuWin32\bin"

改めると、pythonコマンドにsetup.pyというファイルを渡し、bdist_wheelという引数を渡します。その上でオプションとして、Qtのバージョン、qmakeのパス、cmakeのパス、opensslのパスを渡しますが、qmakeとcmakeはファイル名までのフルパス、opensslだけなぜかフォルダまでのパスなので注意してください。

実行すると大量のログが流れるので止まるまで放置しておきましょう。かなーり、時間がかかるはずです。

PySide2の本体を付属ツールも含めてすべてビルドするため、けっこうな時間がかかります。進行状況がパーセンテージで表示されますが、個々のプロジェクトに対する進捗なので100%になった後別のものがまた0%からスタートしたりするので残り時間はあまり読めません。

全て終了するとプロンプトが表示され、入力待機状態になります。

ちなみにこんな風にあっさりと説明をしていますが、私はこの部分でのエラーをおそらく30回ぐらい体験してその都度いろいろ変更したり修正したりし、なんなら仮想環境の再構築からやり直したりときにはソースコードまで直したりあれこれやり、やっとビルドが通って安堵した…という日から2年近く経過して、今回、当時のPCとは別のPCに環境構築からやり直しました。使用したVC++のバージョンも異なる状況で、現在入手可能なものでもビルドできることが確認できました。

PySide2をインストールする

ビルドが成功すると、pyside-setupフォルダ内にdistというフォルダができ、その中にPythonのWheelが生成されます。今回の手順に沿って行うとPySide2-5.6.0a1-5.6.2-cp27-cp27m-win_amd64.whlというファイル名で生成されるはずです。

この完成したwheelを使用してPython環境にPySide2をインストールしてみましょう。

ビルドに使用したコマンドプロンプトは閉じて、新たにコマンドプロンプトを開きます。今度はVC2015のものではなく、普通のcmd.exeで構いません。

起動したら以下のコマンドを入力します。

※ここではvirtualenvではなくPython本体にPySide2をインストールします。virtualenvにインストールしたい場合は仮想環境を作成、アクティベートした状態で以下を実行してください。

>python -m pip install %USERPROFILE%\Documents\dev\pyside-setup\dist\PySide2-5.6.0a1-5.6.2-cp27-cp27m-win_amd64.whl

DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Processing e:\users\username\documents\dev\pyside-setup\dist\pyside2-5.6.0a1-5.6.2-cp27-cp27m-win_amd64.whl
Installing collected packages: PySide2
Successfully installed PySide2-5.6.0a1

最終的にSuccessfullyと出れば成功です。テストしてみましょう。まずPythonを起動します。

> python
Python 2.7.16 (v2.7.16:413a49145e, Mar  4 2019, 01:37:19) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

Pythonを起動するとプロンプトが>>>になります。ここに以下のコードを入力します。

>>> from PySide2 import QtWidgets
>>>

上の1行目を入力してEnterキーを押し、エラーが出ずに次の行のプロンプトが表示されればOKです。正しくPySide2がインストールされました。

各種PySide2ツールの場所

最後に、これからMaxやMaya等のPySide2を使用した開発に使う各種ツールの場所を確認しておきましょう。

QtDesigner

{pythonのインストールパス}\Lib\site-packages\PySide2\designer.exe

UIコンバータ

{pythonのインストールパス}\Scripts\pyside2-uic.exe

リソースコンパイラ

{pythonのインストールパス}\Lib\site-packages\PySide2\pyside2-rcc.exe

以上でほしかったものはすべてそろいました。PySide2を活用したツール開発を始めましょう。

ビルドしたWheelのダウンロード

“PySide2-5.11.2-5.11.2-cp27-cp27m-win_amd64” をダウンロード

PySide2-5.11.2-5.11.2-cp27-cp27m-win_amd64.zip – 371 回のダウンロード – 74.48 MB

ZIP圧縮してあるので、ダウンロードして任意の場所に展開し、以下のコマンドでインストールしてください。

python -m pip install PySide2-5.11.2-5.11.2-cp27-cp27m-win_amd64.whl

python はPySide2をインストールしたいバージョンのものを使用してください。