我对Python项目组织没有太多经验,但我一直在try 使用pyproject.toml和这个video中的 struct (减go ci位)来遵循现代最佳实践.
这最终是一个适用于ArcGIS Pro的收件箱工具,尽管我试图从对ArcGIS Pro的"后台"调用中抽象该工具的逻辑,以便将来可以创建其他后台,例如Q地理信息系统或收件箱和格栅.
然而,允许用户与ArcGIS Pro接口的arcpy
模块并不是一个可以从pypi安装到环境中的模块.它只是"存在"在安装ArcGIS Pro提供的conda环境中.我一直在通过激活此conda dev来编写和运行脚本.我认为将arcpy
列为pyproject.toml
中的依赖项是行不通的,因为它无法安装.
您如何应对这种情况?最佳实践是什么?
注:根据this doc from esri,arcpy
包might可以通过conda安装.至少,我可以克隆ArcGIS Pro提供的默认环境并对其进行修改(以安装开发人员).如上所述,我对Python项目管理很陌生(而且这相当令人困惑),但如果我在pyproject.toml中列出我的团队,生成一个relevments.text,然后将它们安装到来自relevments.text的conda dev中,这可能起作用吗?
pip可以在conda En中看到arcpy
:
PS> pip list
Package Version
--------------------------------- -----------------
anyio 3.5.0
appdirs 1.4.4
arcgis 2.2.0.1
...