默认安装ArcGIS Pro的时候,会自动部署上Python3环境,所以在windows上不需要考虑这个问题,但是linux默认并不部署Py3,因此需要单独部署,具体部署可以参考Linux 上 ArcGIS Server 的 Python 3 运行时—ArcGIS Server | ArcGIS Enterprise 文档
前提条件:
需要找一个在线环境先进行如下部署:(因为需要联网安装一些Python需要的组件)
arcgis版本与py版本对应关系,参考下图所示
图1
下面是针对于GeoScene2.1的一个简略安装过程
1. 安装好GeoScene Server2.1版本,安装目录为/home/geos21/geoscene/server
2. 设置ARCGISHOME环境变量为/home/geos21/geoscene/server
3. 下载并安装好对应版本的conda(miniconda也可以)
4. conda install -c esri arcgis-server-py3=10.8.1
这样安装到了默认的base空间下,因此conda中自带的python版本需要与图1对应。
当然也可以先建立一个别的空间,比如arcgis,把其安装到arcgis空间下
(conda create --name arcgis python=3.6 -y)然后用source activate arcgis(该版本),新版本为conda activate arcgis , 根据conda create --name arcgis python=3.6 -y 会有响应的提示。
该控件中安装的python版本要与geoscene要求的一致。
5. 将miniconda3打包并拷贝到目录机器上。
6. 目录机器上设置ARCGISHOME以及PATH环境变量(将miniconda3/bin添加进去)。
7. conda info --envs 确定安装在哪个空间下,使用activate命令切换。
8. Python & import arcpy
Note:
图1中的内容并不是实际的离线文件,实际上执行conda install -c esri arcgis-server-py3=10.8.1后,会自动根据版本去寻找对应的图1中的文件 ,并按照conda的规则下载相应的python依赖包。
附图:
图2
图2为info/about.json文件,包括arcgis-server-python3所需要的依赖包
图3
图3 info/files 是安装过程中安装的相应路径
图4
图4 info/paths.json 包括文件以及md5校验码,校验码不正确(下载到一半网络断掉的情况)会停止安装。
图5
图5 etc/conda/activate.d/arcgis-server-py3-env_vars.sh 激活空间所执行的脚本
同理etc/conda/deactivate.d/arcgis-server-py3-env_vars.sh 为取消空间