ラベル

2016年8月11日

MoeItemをソースコードから実行しよう

MoeItemビルド方法説明の2回目。
今日は、MoeItemのソースコードを入手して、実行できるようになるのが目的です。

3. MoeItemをソースコードから実行しよう

3.1 MoeItemのソースコードを入手

MoeItemの最新ソースコードはBitbucketに置いてあるので、ダウンロードの [リポジトリをダウンロードする] から.zipとして取得するか、Mercurial (hg)コマンドを使って複製します。
hg cloneする例を以下に示しますが、4MB近くあるMoeItemデータベースを含むため結構時間がかかります。最新ソースを入手するだけなら.zipを取得して展開した方が良いみたいです。
C:\> hg clone https://EloiseSeverin@bitbucket.org/EloiseSeverin/moeitem
複製先ディレクトリ: moeitem
全リビジョンを取得中
リビジョンを追加中
マニフェストを追加中
ファイルの変更を追加中
70 個のリビジョン(433 の変更を 68 ファイルに適用)を追加
ブランチ default へ更新中
ファイルの更新数 63、 マージ数 0、 削除数 0、 衝突未解消数 0

3.2 uiファイルからpyファイルを作成

PyQtのプログラミングは、(プログラム\PyQt GPL v4.11.4...にインストールされる)Designerで画面デザインを行うところから始まります。ちょっとDesignerで moeItem\ui_moeitem.ui を開いてみましょう。とても簡単に画面デザインできることが解りますね。

リポジトリには.uiファイルまでしか含んでいませんので、pyuic4 でPythonファイルに変換する必要があります。
C:\> cd moeitem\moeItem
C:\> pyuic4 ui_moeItem.ui -o ui_moeItem.py
C:\> pyuic4 ui_configDialog.ui -o ui_configDialog.py
...
いちいちpyuic4を実行するのは面倒ですね。こんなときにはmakeで一発変換です。
C:\> cd moeitem\moeItem
C:\> make
必要なファイルが全て作成されました。

3.3 moeItem.pyw を実行

必要なファイルが全て整いましたので moeItem.pyw を実行してみます。
c:\> python.exe moeItem.pyw
Pythonにパスを通してない方は、フルパスによる起動が必要かもしれません。
c:\> c:\Python27\python.exe moeItem.pyw

3.4 コマンドプロンプト無しで moeItem.pyw を実行

pythonw.exe を使って起動するとコマンドプロンプトを開かなくなります。
c:\> c:\Python27\pythonw.exe moeItem.pyw

(Windows実行ファイル(.exe)を作ろう につづく)

2 件のコメント:

匿名 さんのコメント...

MTです(素人)。
①makeについて
>いちいちpyuic4を実行するのは面倒ですね。こんなときにはmakeで一発変換です。
は、以下のmakeでしょうか。
C:\Program Files (x86)\GnuWin32\bin
②①のmakeを実行すると以下のエラーが出るのでPyQt5を入れなきゃいけないのでしょうか?
>ImportError: No module named PyQt5
③PyQt4の時は以下でも動くでしょうか(config.py L7)?
from PyQt4 import QtCore, QtGui, QtGui #org#from PyQt5 import QtCore, QtGui, QtWidgets

Eloise Severin さんのコメント...

①makeについて
はい。C:\Program Files (x86)\GnuWin32\bin\make.exe です。
開発をしていく上でmakeは多用するので、Pathを通してしまった方が良いでしょう。
②PyQt5について
最新のmoeItemは、python3,PyQt5ベースに移行しているので、最新のソースコードを利用するなら
python3とPyQt5が必要です。
PyQt4とPyQt5について、いくつかの関数がQtCoreからQtWidgetsに移動したりしたので、
そのままでは動きません。(少々の変更で動きます。)

近年はDeeplearningが流行りなので、anacondaとかを使うと環境構築は楽です。