ArcGIS Server には Windows 64 ビット用の Python 2.7 が含まれています。 ArcGIS Enterprise 10.5 以降では、Python 3 ベースの conda 環境が ArcGIS Server に付属しています。
ArcGIS Server の Python のインストールには、numpy や matplotlib などのパッケージが含まれています。 ただし、さらに追加でカスタム Python パッケージをインストールしたい場合は、次の手順を実行します。
ArcGIS Pro から公開されたサービス
ArcGIS Pro と同様に、ArcGIS Server では conda を使用して Python 環境を管理します。 ArcGIS Server 10.7.1 以降では、すべてのジオプロセシング サービスに Python 環境を指定できます。 ArcGIS Server 10.8.1 以降では、単一のジオプロセシング サービスに Python 環境を指定できます。
以下は、ArcGIS Pro から、または arcpy を使用して公開されたジオプロセシング サービスのステップです。 ArcGIS Pro における Python 環境の詳細については、「ArcGIS Proの Python」をご参照ください。 更新を行うときは、デフォルトの Python 環境のクローンを作成することをお勧めします。 ArcGIS Server でアクティブ化できる Python 環境は一度に 1 つのみです。
conda の使用および操作の詳細については、「conda の概要」をご参照ください。
注意:
ArcGIS Server log4j Patch を適用する前に作成されたクローン環境を使用している場合、conda activate your_environment を実行して環境をアクティブ化し、conda update saspy を実行して、クローン環境内の古いバージョンの saspy で使用されている log4j のセキュリティの脆弱性を解決します。 パッチがすでにインストールされている場合、デフォルト環境をクローン化するときに --pinned フラグを含めます。詳細は、以下の手順をご参照ください。 クローン環境をアクティブ化した後、conda update saspy を実行して、クラウド環境内に log4j のセキュリティの脆弱性が存在しないようにします。
すべてのジオプロセシング サービスへの Python 環境の指定
ArcGIS Server にサードパーティの Python パッケージを配置するには、サイト内の各コンピューターに次のステップを使用します。
- ArcGIS Server アカウントを使用して ArcGIS Server コンピューターにサイン インし、管理者としてコマンド プロンプトを開きます。
- ディレクトリを <install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\Scripts に変更します。
- コマンド conda create --clone arcgispro-py3 --prefix "<install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\newenvname" --pinned --no-shortcuts で新しい環境名 (たとえば newenvname) を使用して ArcGIS Server インストールのPython 環境ディレクトリにサーバーのデフォルト Python 環境のクローンを作成します。 Prefix オプションを、インストールディレクトリと新しい環境名に置き換えます。
- クローン環境をアクティブ化するには、proswap newenvname を実行します。
- conda install を実行してサードパーティの Python パッケージをインストールします。 conda install を使用できない場合のみ pip install を使用します。
- Windows タスク マネージャーの [サービス] タブまたは Windows サービスで ArcGIS Server サービスを再起動します。 すべてのサービスがオンラインに戻るまでに数分かかります。
- 必要に応じて、ArcGIS Server サイト内の各コンピューターで、手順 1 ~ 6 を繰り返します。
既存の conda 環境にパッケージを追加するには、次の手順を実行します。
- ArcGIS Server コンピューターにサイン インします。 管理権限を持つアカウントが必要な場合があります。
- [スタート] メニューから、[Python 3 コマンド プロンプト] を開きます。 ご使用のオペレーティング システムによっては、このメニューが ArcGIS Server フォルダー内にある場合があります。
- 配置する必要があるパッケージに対して conda install を実行します。 conda install を使用できない場合のみ pip install を使用します。
- ArcGIS Server Manager でジオプロセシング サービスを再起動します。
- 必要に応じて、Windows タスク マネージャーの [サービス] タブで ArcGIS Server サービスを再起動します。 数分ですべてのサービスがオンラインに戻ります。
- 必要に応じて、ArcGIS Server サイト内の各コンピューターで、手順 1 ~ 5 を繰り返します。
単一のジオプロセシング サービスへの Python 環境の指定
次のステップを使用して、サーバーのデフォルト Python 環境のクローンを作成し、サードパーティの Python パッケージをインストールし、ジオプロセシング サービスのサービス プロパティを編集します。
- ArcGIS Server コンピューターにサイン インし、スタート メニューから [Python 3 コマンド プロンプト] を開きます。 管理者としてコマンド プロンプトを実行しないと、一部のディレクトリに環境のクローンを作成できない場合があります。
- コマンド conda create --clone arcgispro-py3 --prefix "<install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\newenvname" --pinned --no-shortcuts で新しい環境名 (たとえば newenvname) を使用して ArcGIS Server インストールのPython 環境ディレクトリにサーバーのデフォルト Python 環境のクローンを作成します。 Prefix オプションを、インストールディレクトリと新しい環境名に置き換えます。 ArcGIS Server インストール ディレクトリ以外のディレクトリに環境のクローンを作成するには、conda create --clone arcgispro-py3 --prefix "<fullpath>\outsideenvname" --pinned --no-shortcuts を実行します。
- activate newenvname を使用して、コマンド プロンプト ウィンドウの新しい環境をアクティブ化します。 ArcGIS Server インストールの Python 環境ディレクトリ以外のディレクトリを使用する場合は、activate <fullpath>\outsideenvname でクローン対象環境へのフル パスを指定します。
- conda install packagename=version を使用して、Python パッケージをインストールします。 公開プロセス時に ArcGIS Pro で使用したパッケージのバージョンとサーバーにインストールしたパッケージのバージョンを合わせることは必須ではありませんが、ベスト プラクティスです。
- すべてのパッケージをインストールしたら、ArcGIS Server 管理者ディレクトリに移動します。 ページ下部の [リソース] で、[サービス] を選択します。
- Python 環境を指定するジオプロセシング サービスを選択します。
- ページ下部の [サポートされるオペレーション] で [編集] をクリックします。
- クローン対象環境が ArcGIS Server インストールの Python 環境ディレクトリにある場合は、サービス JSON で、キー値のペア "condaEnvironmentPath": "newenvname" をサービス プロパティに追加します。 ArcGIS Server インストールの Python 環境ディレクトリ以外のディレクトリを使用する場合は、クローン対象環境へのフル パスを指定します。
Simplified service properties with a cloned Python environment in the ArcGIS Server installation's Python environment directory.
{ "serviceName": "gvonly", "type": "GPServer", "description": "", "allowedUploadFileTypes": "", "properties": { "toolbox": "C:\\arcgisserver\\directories\\arcgissystem\\arcgisinput\\gvonly.GPServer\\extracted\\p20\\gvonly.tbx", "condaEnvironmentPath": "newenvname", "showMessages": "INFO" }, "portalProperties": { "isHosted": false, "portalItems": [{ "itemID": "4921223df97744a593d0b776666b9da9", "type": "GPServer" }] }, "extensions": [{ "typeName": "WPSServer", "properties": { "serviceType": "", "name": "" } }], "frameworkProperties": {}, "datasets": [] }
- [編集の保存] ボタンをクリックして、編集を保存します。
- サービスが自動的に再起動します。
ArcGIS Desktop から公開されたサービス
次に示す手順は、ArcMap から公開されたジオプロセシング サービスおよび Python 2.7 に基づく arcpy モジュールに対応しています。 ArcGIS Server サイト内にあるコンピューターごとに、手順を繰り返します。 パッケージがサービスのデフォルト Python 2.7 にインストールされ、ArcGIS Desktop から公開されたすべてのサービスに適用されます。
- インストール対象の Windows 64 ビット バージョンのサードパーティ パッケージをダウンロードします。
- .msi または .exe ファイルをダブルクリックして、パッケージをインストールします。
通常、カスタム パッケージは C:\Python27\ArcGISx6410.8\lib\site-packages ディレクトリにインストールされます。
ArcGIS Desktop から公開されたサービスのカスタム Python パッケージのテスト
パッケージが適切にインストールされたかどうかをテストするには、インストールしたパッケージをインポートする Python スクリプトを作成して実行します。 スタンドアロン スクリプトに慣れていない場合、以下の手順に従います。
- ターミナル ウィンドウを開きます。
- スクリプトを引数に指定して、サーバーの Python 2.7 を実行します。たとえば、「<ArcGISServer_InstallDir>/arcgis/server/tools/python ~/projectX/mytestscript.py」と入力します。
注意:
ArcGIS Server (Linux) のインストールによってインストールされた Python ライブラリは Windows 64 ビットの Python です。 したがって、データや他の Python モジュールにアクセスする場合、スタンドアロンの Python スクリプトには常に Windows のパスの区切り文字 (\) を使用する必要があります。 また、Z:\ ディレクトリが Linux システムの / にマッピングされることにも留意してください。 Python スクリプトでは、Z:\ マッピングを使用して、データや他の Python モジュールにアクセスできます。 たとえば、/myuser/myproject/data にあるデータは z:\myuser\myproject\data を使用してアクセスできます。
公開プロセスによってすべてのパスが正しい形式に変換されるため、ArcGIS Desktop から公開する Python スクリプトにはこれは適用されません。