これまで ArcMap の ArcPy (Python 2.7) を記述する統合開発環境(IDE)として、PyScripter を使ってきました。GUI が日本語だしデバッグ実行もできるので便利だったのですが、ArcGIS Pro の ArcPy (ArcGIS Pro 2.0 の場合は Python 3.5) は PyScripter でデバッグ実行することができません。
そこで、PyScripter に代わる ArcGIS Pro 用 ArcPy の IDE を捜す旅に出かけることにしました。
目次
Python 統合開発環境
Python 用の統合開発環境 (IDE) で主立ったものは以下があります。最近コードの実行結果を表示しながらコメントも書けるということで、Jupyter notebook が熱いですね。.NET 開発で知名度の高い Visual Studio でも Python の開発ができます。しかも Community エディションなら個人開発や小規模企業で開発者の人数が少ないならば商用でも無償で利用できます。Visual Studio Code は厳密には統合開発環境ではないですが、Python コードがデバッグできます。
いくつか試した環境のインストールと設定方法を紹介します。なお ArcGIS Pro の Python 環境は複製すると追加でさまざまなパッケージを追加することができます。ここでは以下の既定値にあたる Pyhton 環境 (Python.exe) を前提としていますが、必要に応じて適宜パスを変更してください。
C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3 たとえばクローンした場合の既定値は C:\Users\<ユーザー名>\AppData\Local\ESRI\conda\envs\arcgispro-py3-clone
Visual Studio Code
Visual Studio Code は Microsoft が提供しているハイエンドなエディターです。クラウド開発用の強力かつ軽量なコード エディターと謳っています。コード記述用のエディターなので言語のシンタックス ハイライトができたり、プラグインにより機能拡張することもできます。
手順
- Visual Studio Code をダウンロードしてインストールします。
- Visual Studio Code を起動したら、画面左下の[拡張機能]アイコンをクリックし、"python" キーワードでプラグインを絞り込み、Microsoft が提供している "Python" を選択してインストールします。
- マシンの環境変数 Path に ArcGIS Pro の Python 環境を追記します。Python パッケージ マネージャーでプロジェクト環境を複製している場合は適宜パスを変更してください。ユーザー環境変数でもシステム環境変数でも構いません。
C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3
C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Scripts - Visual Studio Code の settings.json ファイルを開き、章末の JSON コードの記述と差し替えます(システムのデフォルト設定を変更できるファイルはないようです)。
C:\Users\<ユーザー名>\AppData\Roaming\Code\User\settings.json - Visual Studio Code ウィンドウ左下をクリックし、arcpy の python.exe (C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\python.exe) を選択します。
- 適当な *.py ファイルを作成し、章末を参考に arcpy を使用するコードを記述し、デバッグ実行 (F5) します。
- [ターミナル] タブにコードに実行した結果が出力されていることを確認します。
- %APPDATA%\Code\User\settings.json を開き、以下を追記します。python.pythonPadh には環境変数に記述した python.exe のパスを記入してください。
{ "typescript.locate": "ja", "editor.renderWhitespace"; "boundary", "terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe", "editor.tabSize": 4, "editor.detectIndentation": false, "python.pythonPath": "C:\\Program Files\\ArcGIS\\Pro\\bin\\Python\\envs\\arcgispro-py3\\python.exe" }
import arcpy print(arcpy.Usage("buffer_analysis")) #指定されたツールや関数やシンタックスを返します
Visual Studio 2017 Community
Visual Studio 2017 Community で ArcPy を開発できるように環境を整えます。
Visual Sutido 2017 では標準インストールで Python オプションをチェックすると Python の開発もできるようになっています。ウィザードに従うと Python 3.6 がインストールされるのですが、 ArcGIS Pro 2.0 に搭載の Python は 3.5.3 です。しかも Python のインストール パスは ArcGIS Pro のインストール ディレクトリー内なので少々設定が必要です。
手順
- Visual Studio 2017 をインストールします。オプション選択で Python も使えるようにチェックしておきます。
- Visual Sutudio を起動し、[表示] メニュー → [その他のウィンドウ] →[Python 環境]をクリックし、[Python 環境]ウィンドウを表示します。
- [Python 環境]ウィンドウで [+カスタム] をクリックし、[構成] で以下を設定します。
- 説明:Python 3.5 (64-bit) ArcGIS Pro
- プレフィックス パス:C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3
- インタープリター パス:C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\python.exe
- ウィンドウ表示のインタープリター:C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\pythonw.exe
- 言語バージョン:3.5
- アーキテクチャー:64-bit
- パス環境変数:<なし>
- 記述したら [適用] リンクし、[これを新しいプロジェクトに対する既定の環境にする] をクリックします。
- 追加が完了したら、右から 2番目のアイコン(輪)を押して補間DB を更新してください。
- ライブラリーの読み込みがインジケーターとして反映されていきます。インジケーターが 100% になったら arcpy サイトパッケージが完全に認識できるようになります。
セットアップは以上です。
Python Intaractive ウィンドウでの実行
- Visual Studio → [表示] メニュー → [その他のウィンドウ] →[Python Intaractive ウィンドウ]ウィンドウをクリックして表示します。
- import arcpy と入力してエンター キーを押すとインテリセンスが有効になり、エンターを押すとサイト パッケージが読み込まれます。
モジュールを作成してデバッグ実行
- Visual Studio → [ファイル] メニュー → [新規作成] → [プロジェクト] を選択し、[新規プロジェクト] ウィンドウで[Python]→[Python アプリケーション]と選択します。プロジェクトを作成するフォルダーは任意に選択してください。
- 作成された *.py ファイルに、以下のコードを記述します(ArcPy のコードなら何でも良いです)。
#coding:cp932 import arcpy pt = arcpy.Point(135,35) print(str(pt.X) + "," + str(pt.Y))&amp;amp;amp;amp;amp;amp;amp;lt;
- Visual Studio → [デバッグ] メニュー → [デバッグの開始] をクリックします。
- コマンド プロンプトに結果が表示され、ますので、任意のキーを押してコードを終了します。
Visual Studio ならインテリセンスも動作します。
PyCharm
PyCharm は Python 向けの統合開発環境です。無償の Community 版と有償の Professional 版とがありますが、Community 版でも利用できます。
手順(バージョン 2020.3.3 の場合)
- PyCharm (Windows) をダウンロードしてインストールします。
- 日本語化したい場合は、MergeDoc Project のサイトにアクセスし、Pleiades プラグイン・ダウンロードから Windows をダウンロードし、ZIP ファイルを展開して setup.exe を実行し、手順に従って日本語化プログラムをインストールします。
- 日本語化するアプリケーションから「pycharm64.exe」のパスを選択
- [日本語化する] ボタンを押して実行
- PyCharm を実行し、起動ダイアログから [カスタマイズ] → [All Settings] をクリック。
- [新規プロジェクトの設定] ダイアログ → [Pyhton インタープリター] で歯車アイコンをクリックし、[追加] をクリック
- [Python インタープリターの追加] ダイアログで、「System Interpreter」を選択し、[...] から「C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\python.exe」を選択し、[OK]
- [新規プロジェクトの設定] ダイアログで [Python インタープリター] が ArcGIS Pro の Python バージョンに設定されていることを確認し、[OK] をクリックして閉じる。
プロジェクトの作成
PyCharm の新規プロジェクト作成時に、[Previously configured interpreter] で、設定で追加した Python 環境を選択します。
Jupyter notebook
Jupyter notebook での arcpy 利用ですが下記サイトによると ArcGIS Pro のインストール パスに半角スペースがあってはいけないと記載がありました。しかし実際には標準の ArcGIS Pro インストール パスでも Jupyter が利用できています(バージョン 2.2 で確認)。
ArcGIS Pro のエディター設定
ArcGIS Pro の [カタログ] ウィンドウからスクリプト ファイルを編集する際に起動するエディターがカスタマイズできます。
- [プロジェクト] メニュー → [オプション] をクリック
- [オプション] ダイアログ → [ジオプロセシング] → [スクリプト エディター] に任意の IDE やテキスト エディターの実行ファイルを設定
まとめ
機械額集計ユーザーや ArcGIS API for Python ユーザーには Jupyter notebook や後継の Jupyter Lab が流行っているようですが、個人的には arcpy はジオプロセシング ツールの作成用途が多いので Visual Studio Code かなという感じです。それぞれインストールして使い勝手の良いものを選んでみてください。