qgis2用に作ったプラグインをqgis3に対応させるためのメモです。
qgis2to3の準備
OSGeo4Wをインストール
(QGISのスタンドアローンインストーラーでインストールされるものだとpy3_envでパスがうまく指定されないのでpipがC:\OSGeo4Wのpythonを読み込もうとするので、OSGeo4Wネットワークインストーラーを使います。)
OSGeo4W shell を管理者で実行
py3_env
pip install qgis2to3
qgis2to3の実行
OSGeo4W shellを普通に実行
py3_env
cd C:\Users\mizutani\.qgis2\python\plugins
mkdir myplugin_qgis3
python "c:\OSGeo4W64\apps\Python37\Scripts\qgis2to3" -w -n -o myplugin_qgis3 myplugin
importの修正
importを以下に変更
from qgis.PyQt.QtCore import *
from qgis.PyQt.QtWidgets import *
from qgis.PyQt.QtGui import *
from qgis.core import *
from qgis.gui import *
qgis3のプラグイン置き場に移動
mv myplugin_qgis3 %USERPROFILE%\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\myplugin
リソースのコンパイル
cd %USERPROFILE%\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\myplugin
qt5_env
pyrcc5 -o resources.py resources.qrc
QGIS3の起動とエラーの修正
qgis3を起動してプラグインでエラーになる箇所を修正