Skip To Content

ArcGIS Server へのカスタム Python パッケージの配置

ArcGIS Enterprise 10.5 以降では、Python 3 ベースの conda 環境が ArcGIS Server に付属しています。

ArcGIS ServerPython のインストールには、numpymatplotlib などのパッケージが含まれています。 ただし、さらに追加でカスタム 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 ProPython」をご参照ください。 更新を行うときは、デフォルトの Python 環境のクローンを作成することをお勧めします。 ArcGIS Server でアクティブ化できる Python 環境は一度に 1 つのみです。

conda の使用および操作の詳細については、「conda の概要」をご参照ください。

すべてのジオプロセシング サービスへの Python 環境の指定

ArcGIS Server にサードパーティの Python パッケージを配置するには、サイト内の各コンピューターに次のステップを使用します。

  1. ArcGIS Server コンピューターにサイン インし、管理者としてコマンド プロンプト ウィンドウを開きます。
  2. ディレクトリを <install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\Scripts に変更します。
  3. 新しい環境名を使用してサーバーのデフォルト Python 環境のクローンを作成します。 候補の場所は、ArcGIS Server インストールの Python 環境のディレクトリです。 サンプルの newenvname を使用して、conda create --clone arcgispro-py3 --prefix "<install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\newenvname" --pinned --no-shortcuts コマンドを実行します。 Prefix オプションを、インストールディレクトリと新しい環境名に置き換えます。 また、インストール ディレクトリ以外の場所を指定することもできます。
  4. クローン環境をアクティブ化するには、conda proswap -n newenvname --all-users を実行します。 ArcGIS Server アカウント ユーザーとしてコンピューターにサイン インしている場合、--all-users 引数の指定はオプションです。これ以外の場合、この引数の指定は必須です。 クローン作成された conda 環境が候補の場所以外の場所にある場合は、conda proswap -p "<full-path-to-cloned-directory>" --all-users を使用して、その場所までの絶対パスを指定します。
  5. conda install を実行してサードパーティの Python パッケージをインストールします。 conda install を使用できない場合のみ pip install を使用します。
  6. ArcGIS Server サービスを再起動します。 すべてのサービスがオンラインに戻るまでに数分かかります。
  7. 複数のコンピューターを配置する場合は、ArcGIS Server サイト内の他のすべてのコンピューターで、手順 1 ~ 6 を繰り返します。

パッケージの追加

既存の conda 環境にパッケージを追加するには、次の手順を実行します。

  1. ArcGIS Server コンピューターにサイン インします。 既存の conda 環境の場所によっては、管理者権限が必要となることがあります。
  2. [スタート] メニューから、[Python 3 コマンド プロンプト] を開きます。 ご使用のオペレーティング システムによっては、このメニューが ArcGIS Server フォルダー内にある場合があります。 スタート メニューにない場合は、<install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\Scripts[proenv.bat] を起動できます。
  3. 配置する必要があるパッケージに対して conda install を実行します。 conda install を使用できない場合のみ pip install を使用します。
  4. ArcGIS Server Managerジオプロセシング サービスを再起動します。
  5. 必要に応じて ArcGIS Server サービスを再起動します。 数分ですべてのサービスが再起動します。
  6. 複数のコンピューターが配置されている場合は、ArcGIS Server サイト内の各コンピューターで手順 1 から 5 を繰り返します。

単一のジオプロセシング サービスへの Python 環境の指定

次のステップを使用して、サーバーのデフォルト Python 環境のクローンを作成し、サードパーティの Python パッケージをインストールし、ジオプロセシング サービスのサービス プロパティを編集します。

  1. ArcGIS Server コンピューターにサイン インし、スタート メニューから [Python 3 コマンド プロンプト] を開きます。 管理者としてコマンド プロンプトを実行しないと、一部のディレクトリに環境のクローンを作成できない場合があります。
  2. コマンド 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 を実行します。
  3. activate newenvname を使用して、コマンド プロンプト ウィンドウの新しい環境をアクティブ化します。 ArcGIS Server インストールの Python 環境ディレクトリ以外のディレクトリを使用する場合は、activate <fullpath>\outsideenvname でクローン対象環境へのフル パスを指定します。
  4. conda install packagename=version を使用して、Python パッケージをインストールします。 公開プロセス時に ArcGIS Pro で使用したパッケージのバージョンとサーバーにインストールしたパッケージのバージョンを合わせることは必須ではありませんが、ベスト プラクティスです。
  5. すべてのパッケージをインストールしたら、ArcGIS Server 管理者ディレクトリに移動します。 ページ下部の [リソース] で、[サービス] を選択します。
  6. Python 環境を指定するジオプロセシング サービスを選択します。
  7. ページ下部の [サポートされるオペレーション][編集] をクリックします。
  8. クローン対象環境が ArcGIS Server インストールの Python 環境ディレクトリにある場合は、サービス JSON で、キー値のペア "condaEnvironmentPath": "newenvname" または "condaEnvironmentPath": "<full path to newenvname>" をサービス プロパティに追加します。 ArcGIS Server インストールの Python 環境ディレクトリ以外のディレクトリを使用する場合は、クローン対象環境へのフル パスを指定する必要があります。 新しい condaEnvironmentPath プロパティを含む、単純化したサービス プロパティ JSON は以下のとおりです。

    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\\p30\\gvonly.tbx",
      "condaEnvironmentPath": "newenvname",
      "showMessages": "INFO"
     },
     "portalProperties": {
      "isHosted": false,
      "portalItems": [{
       "itemID": "4921223df97744a593d0b776666b9da9",
       "type": "GPServer"
      }]
     },
     "extensions": [{
      "typeName": "WPSServer",
      "properties": {
       "serviceType": "",
       "name": ""
      }
     }],
     "frameworkProperties": {},
     "datasets": []
    }

  9. [編集の保存] ボタンをクリックして、編集を保存します。

サービスが自動的に再起動します。


このトピックの内容
  1. ArcGIS Pro から公開されたサービス