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 の概要」をご参照ください。
すべてのジオプロセシング サービスへの 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" で新しい環境名 (たとえば 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" で新しい環境名 (たとえば newenvname) を使用して ArcGIS Server インストールのPython 環境ディレクトリにサーバーのデフォルト Python 環境のクローンを作成します。 Prefix オプションを、インストールディレクトリと新しい環境名に置き換えます。 ArcGIS Server インストール ディレクトリ以外のディレクトリに環境のクローンを作成するには、conda create --clone arcgispro-py3 --prefix "<fullpath>\outsideenvname" を実行します。
- 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 環境ディレクトリ以外のディレクトリを使用する場合は、クローン対象環境へのフル パスを指定します。 新しい condaEnvironmentPath プロパティを含む、単純化したサービス プロパティ JSON は以下のとおりです。
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\\p30\\gvonly.tbx", "condaEnvironmentPath": "newenvname", "showMessages": "INFO" }, "portalProperties": { "isHosted": false, "portalItems": [{ "itemID": "4921223df97744a593d0b776666b9da9", "type": "GPServer" }] }, "extensions": [{ "typeName": "WPSServer", "properties": { "serviceType": "", "name": "" } }], "frameworkProperties": {}, "datasets": [] }
- [編集の保存] ボタンをクリックして、編集を保存します。
- サービスが自動的に再起動します。