mcpField
P
python-notebook

python-notebook

github.com/valdesrosier数据与数据库8107 次安装4 周前更新
代码仓库

关于 python-notebook

帮助开发者在托管或本地环境中使用 ArcGIS API for Python 笔记本的技能,重点涵盖运行时依赖、匹配环境的身份验证,以及不可逆数据操作的防护。

主要功能

  1. 01托管与本地运行时指引
  2. 02库与 Python 版本检查
  3. 03按环境选择身份验证
  4. 04不可逆操作确认流程

适用场景

  1. 01导入前核实 ArcGIS 库是否可用
  2. 02为本地安装选择 Python 版本
  3. 03编写修改或删除 GIS 数据的代码

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/valdesrosier/skills --skill python-notebook

安装后在 Claude Code 中输入/python-notebook确认已加载。

附带文件agents/openai.yaml

详细介绍

ArcGIS API for Python 与 ArcGIS Notebooks

先确定运行时目标

库的版本由运行时固定,你不能自行选择。导入任何内容之前,请先确定适用的目标,因为从这里开始规则会有所不同:

  • 托管 ArcGIS Notebooks(Enterprise 或 Online)
  • 本地 / conda / pip 环境

托管笔记本:检查运行时清单

托管运行时的版本与 Notebook Server 版本相匹配(例如“ArcGIS Notebook Server Standard 12.0”)。两种运行时以容器镜像形式提供:

  • Standard
  • Advanced — 包含 Standard 中的所有内容,另加 ArcPy。

ArcPy 仅在 Advanced 中提供:切换到 Standard 的笔记本在任何 ArcPy 单元格上都会报错。使用每种运行时进行创作都需要单独的门户权限。导入之前,请检查目标版本的运行时清单;不要假定某个库已存在,也不要通过 pip 安装绕过运行时限制。

更改运行时可能会导致原本正常的代码出错

先例:arcgis 2.4.0 为 Jupyter Notebook 7 / JupyterLab 4 引入了新的地图微件,针对旧微件编写的代码需要迁移;继续使用 arcgis 2.3.1 则会保留 Jupyter Notebook 6。切换笔记本的运行时之前,请说明这一风险,并根据相关版本的发行说明确认当前行为。

本地安装:为库固定 Python 版本

arcgis 2.4.2+ 要求 Python 3.10.x–3.13.x。请根据所用版本的系统要求页面核实确切范围,不要想当然。

留意已弃用的模块

GeoAnalytics Server 的最终版本为 Enterprise 11.3;内置 Python API 仅在 11.3 及更早版本中支持 arcgis.geoanalytics。请勿在较新版本中使用它。

身份验证:匹配环境,绝不内联凭据

  • 在托管笔记本中,使用 GIS("home") 进行身份验证。
  • 在其他环境中,使用显式凭据进行身份验证,但绝不要在代码中内联凭据;请从环境或提示词中获取凭据。

防范破坏性操作

生成任何调用 truncate、delete、delete_features、overwrite 或删除某个项目或图层的代码之前,请暂停,并按顺序满足以下每一点。此规定仅适用于不可逆的数据操作,不适用于凭据或组织卫生。

  1. 指定目标。 说明组织以及调用所针对的确切项目或图层 ID。未指定目标时必须停止。
  2. 展示目标信息。 显示目标的标题、类型和要素数量,让用户了解即将丢失的内容。
  3. 确认它不是生产环境。 明确说明这一点,并在继续之前取得用户确认。
  4. 优先提供可撤销的形式。 先提供查询优先 / 计数优先或试运行形式,以便在执行破坏性调用前了解影响范围。
  5. 绝不盲目输出。 在满足第 1–4 点且用户确认之前,不得提供破坏性调用,即使用户听起来很确定也不例外。

完成标准

已确定运行时目标;已确认库存在于该运行时中(或已为本地安装固定 Python 版本);身份验证与环境相匹配,且没有内联凭据;任何破坏性调用均已通过上述检查。

评论

支持 Markdown