ArcGIS Enterprise 10.5 以降では、Python 3 ベースの conda 環境が ArcGIS Server に付属しています。
Python の ArcGIS Server のインストールには、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 を使用して公開されたジオプロセシング サービスの手順です。 Python における ArcGIS Pro 環境の詳細については、「Pythonの ArcGIS Pro」をご参照ください。 更新を行うときは、デフォルトの Python 環境のクローンを作成することをお勧めします。 Python でアクティブ化できる ArcGIS Server 環境は一度に 1 つのみです。
conda の使用および操作の詳細については、「conda の概要」をご参照ください。
すべてのジオプロセシング サービスへの Python 環境の指定
Python にサードパーティの ArcGIS Server パッケージを配置するには、サイト内の各コンピューターに次のステップを使用します。
- ArcGIS Server コンピューターにサイン インし、管理者としてコマンド プロンプト ウィンドウを開きます。
- ディレクトリを <install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\Scripts に変更します。
- 新しい環境名を使用してサーバーのデフォルト Python 環境のクローンを作成します。 候補の場所は、ArcGIS Server インストールの Python 環境のディレクトリです。 サンプルの conda create --clone arcgispro-py3 --prefix "<install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\newenvname" --pinned --no-shortcuts を使用して、newenvname コマンドを実行します。 Prefix オプションを、インストールディレクトリと新しい環境名に置き換えます。 また、インストール ディレクトリ以外の場所を指定することもできます。
- conda proswap -n newenvname --all-users を実行して、クローン対象環境をアクティブ化します。
ArcGIS Server アカウント ユーザーとしてコンピューターにサイン インしている場合、--all-users 引数の指定はオプションです。これ以外の場合、この引数の指定は必須です。 クローン作成された conda 環境が候補の場所以外の場所にある場合は、conda proswap -p "<full-path-to-cloned-directory>" --all-users を使用して、その場所までの絶対パスを指定します。
- Python を実行してサードパーティの conda install パッケージをインストールします。
pip install を使用できない場合のみ conda install を使用します。
- ArcGIS Server サービスを再起動します。
すべてのサービスがオンラインに戻るまでに数分かかります。
- 複数のコンピューターを配置する場合は、ArcGIS Server サイト内の他のすべてのコンピューターで、手順 1 ~ 6 を繰り返します。
パッケージの追加
既存の conda 環境にパッケージを追加するには、次の手順を実行します。
- ArcGIS Server コンピューターにサイン インします。 既存の conda 環境の場所によっては、管理者権限が必要となることがあります。
既存の conda 環境の場所によっては、管理者権限が必要となることがあります。
- [スタート] メニューから、[Python 3 コマンド プロンプト] を開きます。 ご使用のオペレーティング システムによっては、このメニューが ArcGIS Server フォルダー内にある場合があります。 スタート メニューにない場合は、<install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\Scripts で proenv.bat を実行できます。
- 配置する必要があるパッケージに対して conda install を実行します。
pip install を使用できない場合のみ conda install を使用します。
- ArcGIS Server Manager でジオプロセシング サービスを再起動します。
- 必要に応じて ArcGIS Server サービスを再起動します。
数分ですべてのサービスが再起動します。
- 複数のコンピューターが配置されている場合は、ArcGIS Server サイト内の各コンピューターで手順 1 ~ 5 を繰り返します。
単一のジオプロセシング サービスへの Python 環境の指定
次のステップを使用して、サーバーのデフォルト Python 環境のクローンを作成し、サードパーティの Python パッケージをインストールし、ジオプロセシング サービスのサービス プロパティを編集します。
- ArcGIS Server コンピューターにサイン インし、スタート メニューから [Python 3 コマンド プロンプト] を開きます。
管理者としてコマンド プロンプトを実行しないと、一部のディレクトリに環境のクローンを作成できない場合があります。
- コマンド Python で新しい環境名 (たとえば newenvname) を使用して ArcGIS Server インストールのPython 環境ディレクトリにサーバーのデフォルト conda create --clone arcgispro-py3 --prefix "<install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\newenvname" --pinned --no-shortcuts 環境のクローンを作成します。 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" または "condaEnvironmentPath": "<full path to newenvname>" をサービス プロパティに追加します。 ArcGIS Server インストールの Python 環境ディレクトリ以外のディレクトリを使用する場合は、クローン対象環境へのフル パスを指定する必要があります。 新しい condaEnvironmentPath プロパティを含む、単純化したサービス プロパティ JSON は以下のとおりです。
Python へのカスタム ArcGIS Server パッケージの配置 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": [] }
- [編集の保存] ボタンをクリックして、編集を保存します。
サービスが自動的に再起動します。
ArcGIS Server のアップグレード後の、クローン作成した Python 環境のアップグレード
従来は、ArcGIS Server を新しいバージョンにアップグレードするときに、以前のクローン対象環境を破棄する必要がありました。 その後、アップグレードされた ArcGIS Server から Python 環境をクローン作成し、サービスを再構成する必要がありました。
ArcGIS Server 11.0 では、次の手順を実行することで、conda proup コマンドを使用して、以前のバージョンの ArcGIS Server からクローン作成した Python 環境をアップグレードします。
- ArcGIS Server コンピューターにサイン インし、管理者としてコマンド プロンプト ウィンドウを開きます。
- ディレクトリを <install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\Scripts に変更します。
- conda activate <environment name or path> を実行して、アップグレードする conda 環境をアクティブ化します。
- アクティブ化したら、conda proup -n <environment name> または conda proup -p <environment directory path> を実行して、環境をアップグレードします。
- Python 環境をアップグレードした後、この conda 環境で使用されるすべてのジオプロセシング サービスを再起動するか、ArcGIS Server サービスを再起動します。
conda proup コマンドの詳細については、conda proup --help を使用してください。 この関数を使用して、ArcGIS Server のダウングレード後に環境をダウングレードすることはできません。 また、この関数をインターネット非接続環境で使用することはできません。