ArcGIS API For Python 00-1 - 基于Docker配置ArcGIS API for Python

这篇文章呢,向大家介绍Linux系统通过Docker配置ArcGIS API for Python的几种方式。

第一种:使用Esri提供的Docker镜像

Esri在Docker Hub上传了ArcGIS API for Python的镜像,名称为arcgis-api-python-notebook

安装

安装方式很简单,像安装其他Docker镜像一样,使用命令docker pull esridocker/arcgis-api-python-notebook就可以拉取该镜像。

运行

拉取镜像后,通过命令docker run -it -p <localport>:8888 esridocker/arcgis-api-python-notebook可运行该镜像,其中localport是宿主机的端口,一般为了方便可以也设置为8888。

运行成功后会有如下提示:

[I 06:13:47.922 NotebookApp] Writing notebook server cookie secret to /home/jovyan/.local/share/jupyter/runtime/notebook_cookie_secret
[I 06:13:48.182 NotebookApp] JupyterLab extension loaded from /opt/conda/lib/python3.6/site-packages/jupyterlab
[I 06:13:48.182 NotebookApp] JupyterLab application directory is /opt/conda/share/jupyter/lab
[I 06:13:48.184 NotebookApp] Serving notebooks from local directory: /home/jovyan
[I 06:13:48.184 NotebookApp] The Jupyter Notebook is running at:
[I 06:13:48.184 NotebookApp] http://(d95711aca0c2 or 127.0.0.1):8888/?token=0885e534993aadec8acce8eb8c6f57a8528ddf0355bb19d9
[I 06:13:48.184 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 06:13:48.184 NotebookApp] 
    
    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://(d95711aca0c2 or 127.0.0.1):8888/?token=0885e534993aadec8acce8eb8c6f57a8528ddf0355bb19d9

记住最后一行的token的值,第一次在网页上访问Jupyter Notebook时需要输入token或者密码。

如果不想运行后一直看到这些信息(毕竟还需要处理其他的工作),可以在运行时添加-d参数,也就是像这样docker run -d -it -p <localport>:8888 esridocker/arcgis-api-python-notebook

这样运行后,不会看到上面的那些信息。那么如何获取到token来访问呢?很简单哦,仅需要2步:

  • 使用命令docker exec -it <docker_container_id> /bin/bash
  • 敲入命令jupyter notebook list,查看当前运行的notebook server,其中就有token
  • 最后,使用命令exit退出当前容器
局限

这种方式的优点就是很方便,不需要额外的安装包就能使用ArcGIS API for Python。但是,它也有使用局限,就是没有提供root用户的密码。

没有root用户密码,就不能修改某些系统文件,或者安装某些包,比如:

  • 不能修改hosts文件用来添加本地Enterprise的IP和域名对应关系,这样就会导致使用本地Enterprise初始化GIS实例时会报错
  • 不能配置本地保存资格证书,详细内容请查看另一篇博客

第二种:使用Anaconda3镜像配置ArcGIS API for Python

这种方式,首先是拉取Anaconda3的镜像,然后在其中依次安装Jupyter Notebook和arcgis。

安装

我们需要从网上拉取Anaconda3镜像,使用命令是docker pull continuumio/anaconda3

运行

拉取Anaconda3的镜像后,使用命令docker run -d -i -t -p 8888:8888 continuumio/anaconda3 /bin/bash -c "/opt/conda/bin/conda install jupyter -y --quiet && mkdir /opt/notebooks && /opt/conda/bin/jupyter notebook --notebook-dir=/opt/notebooks --ip='*' --port=8888 --no-browser --allow-root"
在运行该镜像时,会执行-c参数传入的命令,安装Jupyter Notebook。

安装成功后,使用命令docker exec -it <docker_container_id> /bin/bash进入容器,然后安装arcgis包:conda install -c esri arcgis

然后,使用命令jupyter notebook list查看token。

最后,使用命令exit退出当前容器。

在浏览器端输入http://<ip>:8888访问Notebook Server,输入以下代码测试环境是否配置完成:

from arcgis.gis import GIS
gis = GIS()
gis.properties.portalName

如果输出结果为ArcGIS Online表示环境配置成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值