У меня не так уж много опыта в организации проектов Python, но я стараюсь следовать современным лучшим практикам, используя pyproject.toml и структуру, как в этом видео (без битов ci).
В конечном итоге это инструмент геообработки для ArcGIS Pro, хотя я попытался абстрагировать логику этого инструмента от «серверных» вызовов ArcGIS Pro, чтобы в будущем я мог создавать другие серверные программы, например пример для QGIS или geopandas и rasterio.
Однако модуль arcpy, который позволяет взаимодействовать с ArcGIS Pro, — это не тот модуль, который можно просто установить в свою среду из pypi. Он просто «существует» в среде conda, предоставляемой установкой ArcGIS Pro. Я писал и запускал сценарии, активируя эту среду conda. Я не думаю, что было бы полезно указать arcpy как зависимость в pyproject.toml, поскольку его невозможно установить.
Как вы справляетесь с этим? эта ситуация? Каковы лучшие практики?
Примечание. Пакет arcpy может устанавливать через conda, согласно этому документу от esri. По крайней мере, я могу клонировать окружение по умолчанию, предоставленное ArcGIS Pro, и изменить его (чтобы установить dev deps). Как уже было сказано, я новичок в управлении проектами Python (и это довольно сбивает с толку), но если бы я перечислил свои данные в pyproject.toml, сгенерировал файл требований.txt, а затем установил их в среду разработки conda из требований.txt, это могло бы это работает?
pip может видеть arcpy в среде conda:
PS> pip list
Package Version
--------------------------------- -----------------
anyio 3.5.0
appdirs 1.4.4
arcgis 2.2.0.1
...
Подробнее здесь: https://stackoverflow.com/questions/784 ... env-but-ca