QGIS3に付属のPython等を使えるようにするためのパス設定
このページでは、QGISに付属しているPythonやコマンドを使えるようにするための設定方法を紹介しています。コマンドが使えるようになると、ファイル形式の変換(例:shp→mif)や等高線作成等のちょっとした作業をバッチ処理できたり何かと便利なのでおすすめです。このページでは、QGIS3.6を使用しています。
環境変数Pathを設定する
PythonやGDALやOGR等のコマンドを使うために環境変数を設定します。環境変数の設定については、こちらのページがとても参考になりました。
【PowerShell】環境変数を設定する | ほそぼそプログラミング日記
PowerShellを起動する
PowerShellを起動します。検索窓?(下の赤丸部分)に『powershell』と入力すると、いくつか候補が出てくるので上の赤丸部分のPowerShellを選択します。
設定のためのコード
下記のコードをコピーします。
$oldSystemPath = [System.Environment]::GetEnvironmentVariable("Path", "User") $oldSystemPath += ";C:\Program Files\QGIS 3.6\apps\qgis\bin" $oldSystemPath += ";C:\Program Files\QGIS 3.6\apps\Python37" $oldSystemPath += ";C:\Program Files\QGIS 3.6\apps\Python37\Scripts" $oldSystemPath += ";C:\Program Files\QGIS 3.6\apps\Qt5\bin" $oldSystemPath += ";C:\Program Files\QGIS 3.6\bin" [System.Environment]::SetEnvironmentVariable("Path", $oldSystemPath, "User") [System.Environment]::SetEnvironmentVariable("QT_QPA_PLATFORM_PLUGIN_PATH", "C:\Program Files\QGIS 3.6\apps\qt5\plugins", "User")
PowerShellにコードを貼り付ける
コピーしたコードを張り付けて、PowerShellを一度閉じて下さい。
Windows10の場合
Windows 10の場合、赤丸部分のパスが一番上にあるとPowerShellやコマンドプロンプトでPythonと入力したときに、ストアが立ち上がってしまって実行できないので、一番下に移動しておいてください。
Pythonプログラミング
ソースコードを書てみる
ここまでの設定で、Pythonが使えるようになっているはずですので、簡単なプログラムを実行してみます。PowerShellを起動して、次のコマンドを入力してメモ帳を起動してください。
notepad test.py
メモ帳が起動したら、次のコードを張り付けて保存して下さい。
import numpy x = 10 y = 10 z = 10 w = 1 mat_heikoido = numpy.matrix([[1, 0, 0, 10], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) vec = numpy.matrix([[x], [y], [z], [w]]) print(mat_heikoido*vec)
プログラムを実行してみる
PowerShellに次のように入力して実行してみてください。上の画像のように出力されましたか?
python test.py
PyGTも使ってみる
PyQTのライブラリを使って、ウィンドウを表示できるかも試してみます。次のコマンドを入力してメモ帳を起動してください。
notepad qttest.py
次のコードをコピーして下さい。このコードは
PyQt5とpython3によるGUIプログラミング[1]のページで紹介されていたコードを使用させていただきました。コピーしたらメモ帳に貼り付けて保存して下さい。
import sys from PyQt5.QtWidgets import * def main(): app = QApplication(sys.argv) w = QWidget() w.resize(250, 150) w.setWindowTitle('Window01') w.show() sys.exit(app.exec_()) if __name__ == '__main__': main()
PyQTを使ったプログラムも実行してみる
④PowerShellで次のコマンドを入力して実行すると、ウィンドウが表示されるはずですが、表示されましたか?
python qttest.py
Plugin開発がしたい
QGISをインストールした環境でPythonプログラミングができるようになり、QGISのプラグイン開発に手を出したくなる方もいらっしゃるかと思いますが、そのためにはもう少し設定が必要です。下のページではプラグイン開発が容易になるプラグイン「Plugin Builder」の紹介をしています。
下のページでは、Visual Studioという開発環境を使って、プラグインのデバッグができるようにする方法を紹介していますので、興味がある方はご覧ください。
最後までご覧頂き、ありがとうございました
QGIS3のプラグインをVisualStudioでデバッグするための設定
- Python開発環境をインストールする
- プラグインをVisualStudioに読み込ませる
- QGISのPython環境を取り込む
- QGISのモジュール設定
- デバッグ
- Visual Studio Codeでデバッグする場合
このページでは、QGISのプラグインをVisualStudioを使ってデバッグができるように設定していきます。デバッグに使ったプラグインは「QGIS3 Plugin Builderでプラグイン作成」で作成したものを使用しています。
QGISをインストールした環境でPythonプログラミングするための環境設定が未だ済んでいない場合は「QGIS3 Pythonプログラミングのための設定」のページで紹介している設定を行ってください。
Python開発環境をインストールする
インストーラーを起動する
Visual Studio Installerが起動したら、『Python 開発』を選択します。今回はQGISのインストール時に付属しているPythonを使いたいので、オプションの赤丸部分の選択は全て解除します。解除したら、『変更』ボタンを押下します。
ダイアログが出てきたら
途中、上のようなダイアログが出てくる場合があります。この場合、VisualStudioを閉じてから、ダイアログの『続行』ボタンを押下してください。
Pythonを選択する
VisualStudioを起動してみて、『言語』→『Python』を選択すると、項目が増えています。これでVisualStudioにPython開発環境がインストールされました。
プラグインをVisualStudioに読み込ませる
プラグインのソリューションファイルを作成する
「QGIS3 Plugin Builderでプラグイン作成」で作成したプラグインのソリューションファイルを作成します。VisualStudioを起動して、メニューの『新しいプロジェクトの作成』を選択し、『言語』→『Python』を選択します。表示された項目の中から、『既存のPythonコードから』を選択します。
プラグインを選択する
場所には「QGIS3 Plugin Builderでプラグイン作成」で作成したプラグインの保存先を指定します。
『完了』ボタンを押下します。
QGISのPython環境を取り込む
Python環境を追加する
読み込みに成功すると、ソリューションエクスプローラーにプラグインのファイルが全部表示されます。次にQGISに付属のPython環境をVisualStudioで使うための設定をします。Python環境を右クリックして『環境を追加』を選択します。
QGISに付属のPythonのパスを設定する
『既存の環境』を選択します。
プレフィックスにPython.exeが置かれているパスを指定します。QGIS3.6.1では「C:\Program Files\QGIS 3.6\apps\Python37」に置かれています。プレフィックスの設定に成功すると、他の項目が自動で設定されます。
QGISのモジュール設定
モジュールが見つからない
test_plugin.pyのコードを開くと、qgiscoreライブラリが見つけられていないので、設定します。
検索パスを追加
ソリューションエクスプローラーの『検索パス』を右クリックして、『フォルダーを検索パスに追加』を選択します。選択ダイアログが表示されたら、QGIS3.6の場合は「C:\Program Files\QGIS 3.6\apps\qgis\python」を選択します。成功すると、ソースコードのqgis.coreの下のニョロニョロが消えます。
デバッグ
プロセスにアタッチ
QGISを起動した状態で、VisualStudioの『デバッグ』→『プロセスにアタッチ』を選択します。
qgis-bin.exeを選択してアタッチボタンを押下します。
ブレークポイントを設置する
適当なところにブレークポイントを置きます。
ブレークポイントで止めてみる
ブレークポイントのところで止まりました。
Visual Studio Codeでデバッグする場合
Pythonのパス設定
まずはQGISと一緒にインストールされているPythonを環境変数PATHに追加します。方法はこちらを参考にしてください。
VSCodeでプラグインのフォルダを開く
次にデバッグしたいプラグインがインストールされているフォルダを調べて...
VSCodeでそのフォルダを開きます。左のウィンドウから拡張子が.pyのファイルを選択すると、Pythonの拡張機能のインストールをお勧めされます。
VSCodeにPython拡張をインストールする
お勧めされた拡張機能をインストールします。
インストール後、PythonがVSCodeに認識されていれば、右下にこのように表示がされます。
デバッグを実行する
QGISを起動した状態で、VSCodeでF5キーを押してデバッグしてみます。すると上のようなウィンドウが表示されるので「プロセスIDを使用して接続する」を選択します。
QGISのプロセスを選択します。検索窓で「q」と入力すると、QGISが一番上に表示されると思います。
こんな感じになっていればOKです。適当な場所にブレークポイントを置いて...
正常に設定されていれば、このようにブレークポイントでプラグインが止まります。
launch.jsonを作成する
左のウィンドウに「launch.jsonファイルを作成します」と表示されているので、クリックすると...
デバッグ構成を選択するウィンドウが表示されるので、「プロセスIDを使用して接続する」を選択します。
すると上のようなlaunch.jsonが作成されます。
お疲れ様でした。
Visual Studio 2017のインストール手順
このページでは、マイクロソフトのソフトウェア開発環境『Visual Studio 2017 Community』をインストールするための手順をご紹介します。この開発環境は、条件付ですが、無料で使用することができます。Communityエディションについてはこちらに詳しい説明があります。
インストーラーをダウンロードする
ダウンロードサイト
Visual Studioのダウンロードページの、赤丸の部分を選択します。
ファイルを保存する
しばらく待っているとダイアログが表示されるので、『ファイルを保存』ボタンを押下します。
インストーラーを実行する
ファイルを開く
ダウンロードしたファイルを開きます。
インストールを開始する
インストーラを実行するとダイアログが表示されるので、『続行』ボタンを押下します。
必要なデータがダウンロードされる
インストールの準備をしています。少し時間がかかりますので、しばらくお待ち下さい。
プログラミング環境を選択する
私はC#というプログラミング言語を使いたかったので、赤丸で囲った部分の『.NETデスクトップ開発』を選択しました。
インストールする環境を選択したら『インストール』ボタンを押下します。
インストール完了
インストールが無事完了すると、サインインのダイアログが出ます。ここでは『後で』を選択しました。
Visual Studioを使ってみる
テーマを選択
好みの外観を選択したら、『Visual Studioの開始』ボタンを押下します。
起動
VisualStudioが起動しました。
プロジェクト作成
動作確認のため、簡単なプログラムを作成してみます。メニューからプロジェクトを新規作成します。
プログラミング言語はC#を使ってみます。プロジェクトの場所はD:\sampleに変更しました。通常はそのままでも良いと思います。
ボタンを貼り付ける
開発画面にフォームだけが表示されています。このフォームにボタンを貼り付けてみます。赤丸部分の『ツールボックス』をクリックします。
『Button』を選択したら、フォームの適当な場所をクリックします。すると、ボタンがフォームに貼り付けられます。
コードを書く
貼り付けたボタンをダブルクリックすると、ソースコードが表示されます。
testと書かれたメッセージボックスを表示させてみます。赤丸部分に次のコードを入力してください。
MessageBox.show("test");
プログラムを実行してみる
F5キーを押すとコンパイルされてプログラムが実行されます。
問題無ければ、ボタンが一つのフォームが表示されます。ボタンをクリックします。
testと書かれたメッセージボックスが表示されましたでしょうか?
最後までご覧いただき、ありがとうございました。