Skip To Content

ArcGIS Server (Linux 版) の Python 3 ランタイム

ArcGIS Server は、コマンドラインの ArcPy スクリプトに Python 3 ランタイムを使用するオプションを提供しています。ツールの選択は、ArcGIS Server とは独立してインストールされる Python 3 ランタイムを使用して実行できます。

レガシー:

ArcGIS Server (Linux 版) の以前のリリースでは、Python スクリプトは ArcGIS Server に付属している Python 2.7 ランタイムを使用して Linux シェル内でしか実行できませんでした。これには、サードパーティのライブラリの使用やパスの操作に制限がありました。

基本操作

ArcGIS Server (Linux 版) で Python 3 ランタイムの使用を開始するには、conda を使用して arcgis-server-py3 パッケージをダウンロードおよびインストールします。

Python には ArcGIS 内で活用できる既存のコード パッケージの充実したエコシステムがありますが、システムにインストールするパッケージの管理は、特に複数のプロジェクトを一度に操作する場合やコードを他のユーザーと共有する場合などは、複雑で時間のかかる作業になる可能性があります。

この多様性を活用するために、Python コミュニティは、公開されているほとんどすべての Python パッケージを簡単にインストールできるようにしながら、複数バージョンの Python でプロジェクトを作成できる方法を設計しました。最も一般的で広く使用されている Python パッケージ マネージャーは、conda です。conda を ArcGIS Server と統合することで、オープンソースとサードパーティのパッケージからなる Python エコシステムの機能を ArcGIS Server で使用できるようになります。これにより、Python コードに使用するためのパッケージと依存性を簡単にインストール、実行、更新できます。

conda をまだ所有していない場合は、Anaconda の Web サイトからダウンロードできます。

ArcPy などの ArcGIS Python の機能にアクセスするために、arcgis-server-py3 パッケージを conda から直接インストールできます。conda 環境内で、次のコマンドを使用します。

conda install -c esri arcgis-server-py3

arcgis-server-py3 パッケージをインストールすると、サポートされているジオプロセシング ツールとすべてのサードパーティの要件を含む ArcPy が追加されます。

移行

ArcGIS Server での Python 3 ランタイムの使用方法は、ArcGIS Server や他の ArcGIS 製品 (ArcGIS Desktop など) での Python 2 の使用方法と異なります。対応すべき違いには、主に Python 2 から 3 への変更と arcpy の差異の 2 つがあります。

ArcPy の機能に対する変更

多くのジオプロセシング ツールは引き続き ArcGIS Server の Python 3 で使用できますが、使用できないツールもあります。含まれていないツールは、[パーセル ファブリック]、[Schematics]、[Tracking Analyst] の各ツールボックスのツールです。その他のツールボックスの追加ツールも、使用できません。サポートされているジオプロセシング ツールの詳細な一覧については、arcgis-server-py3 パッケージに付属している readme ファイルをご参照ください。

arcpy.mapping モジュールは、ArcGIS Proarcpy.mp モジュールに置き換えられました。arcpy.na モジュールにも変更が含まれており、それらの多くは、arcpy.mapping から arcpy.mp への変更に関連しています。

Python バージョンの比較

ArcGIS Server の Python ランタイムでは、Python 3 が使用されます。これは、Python 2 ラインのリリースを使用してきた (今後も継続して使用する) 他の ArcGIS 製品と大きく異なる変更点です。Python 3 ラインは、Python 2 ラインとは互換性がありません。この言語の大半の部分は基本的に同じですが、重要な詳細においては多くの部分で大きく異なります。たとえば、文字列およびディクショナリの動作方法や標準的なライブラリの構成が異なります。

Python 3 は、数年間にわたり使用されており、Python コミュニティによって移植されてきた Python 2 と共存しています。現在では、主要なサード パーティのライブラリの大半は Python 3 に移植されており、Python コミュニティでは、すべての新しい導入プロジェクトは Python 3 で行われるのがコンセンサスとなっています。

Python 2 および 3 の両方で動作するように Python コードを更新するかどうかを決めることが重要なポイントです。コードを Python 2 から Python 3 にのみ変換する場合は、2to3 コマンド ライン ユーティリティを使用して、プロセスの大半を自動化することができます。このユーティリティは Python 2 と 3 の両方で使用できます。2to3 は、優れたツールですが完全なソリューションではなく (場合により約 95 % が解決されます)、その他の変更が必要になる場合があります。

http://python3porting.com/ Web サイトにある Lennart Regebro の Porting to Python 3 は、Python 3 への移植や移行方法に関する参考資料として非常に役立ちます。Python 2 および Python 3 で実行されるスクリプトを記述することは可能です。

Python スクリプトが単純である場合は、変更する必要がまったくない場合もあり、変更せずに正常に実行できます。


このトピックの内容
  1. 基本操作
  2. 移行