ArcGIS Server 包括适用于 64 位 Windows 的 Python 2.7。在 ArcGIS Enterprise 10.5 及更高版本中,conda 环境包含在 ArcGIS Server 中。conda 环境基于 Python 3。
ArcGIS Server 的 Python 安装还包括其他包,如 numpy 和 matplotlib。但是,如果您希望安装其他自定义 Python 包,请按照以下步骤操作。
从 ArcGIS Pro 发布的服务
与 ArcGIS Pro 相似,ArcGIS Server 使用 conda 来管理 Python 环境。要克隆和激活现有 Python 环境,请执行以下步骤。
注:
以下步骤适合从基于 ArcGIS Pro conda 环境的 ArcGIS Pro 或 arcpy 模块发布的地理处理服务。有关 ArcGIS Pro 中 Python 环境的详细信息,请参阅 ArcGIS Pro 中的 Python。建议您克隆默认 Python 环境以进行更新。一次只能激活一个 ArcGIS Server 的 Python 环境。
如果这是您第一次在 ArcGIS Server 计算机上部署第三方 Python 软件包,请按照下列步骤操作:
- 登录您的 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" 在 ArcGIS Server 安装程序的 Python 环境目录中以新的环境名称 (newenvname) 克隆服务器的默认 Python 环境。将前缀替换为您的安装目录和新的环境名称。
- 要激活克隆环境,请运行 proswap newenvname。
- 如果您未以 ArcGIS Server 帐户登录 ArcGIS Server 计算机,请更新注册表项。
- 如果 Computer\HKEY_USERS\SID for ArcGIS Server Account\Software\ESRI\Server10.7 注册表中存在 PythonCondaEnv 项,请删除该项。要确定 ArcGIS Server 帐户的安全标识符 (SID),请转至 Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist 或 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList。
- 在 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\Server10.7 注册表中,将 PythonCondaEnv 项的值更新为您刚刚指定的 newenvname。
- 通过运行 conda install 来安装第三方 Python 软件包。如果 conda install 不可用,则仅可使用 pip install。确保在正确的环境中安装软件包。
- 重新启动 Windows 任务管理器服务选项卡上的 ArcGIS Server 服务或 Windows 服务。所有服务重新返回在线状态需要一些时间。
有关使用 conda 的其他信息,请参阅 conda 简介。
要将其他软件包添加到现有 conda 环境,请按照下列步骤操作:
- 登录到 ArcGIS Server 计算机。
- 从开始菜单中打开 Python 3 命令提示符。该提示符可能在 ArcGIS Server 文件夹中,具体取决于您的操作系统。
- 针对需要部署的软件包,运行 conda install。如果 conda install 不可用,则仅可使用 pip install。
- 在 ArcGIS Server Manager 中重新启动地理处理服务。
- 或者,重新启动 Windows 任务管理器服务选项卡上的 ArcGIS Server 服务。所有服务重新返回在线状态需要一些时间。
从 ArcGIS Desktop 发布的服务
注:
以下步骤适用于从 ArcMap 和基于 Python 2.7 的 arcpy 模块发布的地理处理服务。
- 下载该包的 Windows 64 位版本。
- 浏览至下载位置。
- 双击 .msi 或 .exe 文件来安装包。
自定义包通常安装在 C:\Python27\ArcGISx6410.7\lib\site-packages 目录下。
为从 ArcGIS Desktop 发布的服务测试自定义 Python 软件包
要测试是否正确安装了包,请编写导入所安装的包的 Python 脚本,然后运行脚本。如果不熟悉如何运行独立脚本,请按照以下步骤操作。
- 打开终端窗口。
- 以脚本作为参数运行服务器的 Python 2.7,例如:<ArcGISServer_InstallDir>/arcgis/server/tools/python ~/projectX/mytestscript.py
注:
在 ArcGIS Server (Linux) 安装过程中安装的 Python 库是适用于 64 位 Windows 的 Python。因此,访问数据和其他 Python 模型时,您应在独立 Python 脚本中始终使用 Windows 路径分隔符 (\)。此外,还应注意 Z:\ 目录映射到 Linux 系统的 /。在 Python 脚本中,可以使用 Z:\ 映射访问数据和其他 Python 模型。例如,可以通过 /myuser/myproject/data 访问 z:\myuser\myproject\data 中的数据。
这不适用于通过 ArcGIS Desktop 发布的 Python 脚本,因为会在发布过程中将所有路径转换为正确的格式。