Skip To Content

Linux での ArcGIS Server の Python 3 ランタイム

ArcGIS Server は、コマンド ラインの ArcPy スクリプトに Python 3 ランタイムを使用するオプションを提供しています。 ArcGIS Server では Python 3.x がインストールされますが、ArcGIS Server での Python 3 の使用を簡略化する別個の Python 3 ランタイム パッケージをインストールできます。

注意:

ArcGIS Server 10.9.1 以降は、Python 3 のみがサポートされ、Python 2.7 はインストールされなくなります。

はじめに

Python は ArcGIS 内で利用できるサード パーティ ライブラリを提供しますが、インストールするパッケージの管理は、特に複数のプロジェクトを一度に操作する場合やコードを他のユーザーと共有する場合などは、複雑で時間のかかる作業になる可能性があります。 ArcGIS Server for Linux での Python 3 ランタイムの使用を簡略化するには、conda を使用して arcgis-server-py3 パッケージをダウンロードおよびインストールします。

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

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

conda install -c esri arcgis-server-py3=<version>

<version> 値は、ライブラリの現在のバージョンを示します。これは、ArcGIS Server の現在のバージョンと同じで、形式は、たとえば ArcGIS Server 10.9.1 の場合は n.n.n です。

conda install -c esri arcgis-server-py3=10.9.1

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

arcgis-server-py3 パッケージをインストールしない場合は、ArcGIS Server インストール ディレクトリの /arcgis/server/framework/runtime/ArcGIS/bin/Python/envs/arcgispro-py3/ にインストールされている python.exe ファイルを実行するときに Wine を呼び出す必要があります。

移行

ArcGIS Server での Python 3 ランタイムの使用方法は、ArcGIS Server や他の ArcGIS 製品 (ArcMap など) での Python 2 の使用方法と異なります。 対応すべき違いには、主に ArcPy 内の差異と Python のバージョンの変更があります。

ArcPy の機能に対する変更

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

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

Python のバージョンの変更

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

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

10.9.1 は Python 2.7 を含む最後のリリースであるため、Python コードを Python 3 で動作するように更新を開始する必要があります。コードを Python 2 から Python 3 に 1 回だけのみ変換する場合、2to3 コマンド ライン ユーティリティを使用して、プロセスの大半を自動化することができます。 2to3 は、優れたツールですが完全なソリューションではなく (場合により約 95% が解決されると想定)、その他の変更が必要になる場合があります。

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


このトピックの内容
  1. はじめに
  2. 移行