“management”不是模块“arcpy”Pylance 的已知成员(报告 GeneralTypeIssues)

问题描述 投票:0回答:1

我刚开始使用 vscode 和 arcgispro 的 python.exe。我的口译员设置为

arcgispro-py3-env\python.exe

我希望能够在 vscode 中运行 python 代码,但我遇到了 pylance 的一些问题,它似乎无法识别 arcgis 函数或无法设置我的工作目录。

例如,当我尝试将工作目录设置为

env.workspace = wd

我收到以下错误:

Cannot assign member "workspace" for type "GPEnvironment" 
     Pylance(reportGeneralTypeIssues) Member "workspace" is unknown

或者当我尝试执行以下命令时 代码

arcpy.management.Project
,我收到以下错误:

"management" is not a known member of module "arcpy" 
     Pylance(reportGeneralTypeIssues)

我不想使用

#type:ignore fix
,因为这会因为大量代码而变得很麻烦。

python visual-studio-code arcgis arcpy pylance
1个回答
0
投票

最简单的方法是添加

import arcpy.management

import arcpy
import arcpy.management  # <- import arcpy.management explicitely

arcpy.management.CreateFeatureclass(
     r"c:\temp", "buildings.shp", spatial_reference=arcpy.SpatialReference(4326))

原因很可能是

arcpy.management
不认识
arcpy/__ini__.py

至于

arcpy.env.workspace
,看自动补全,
arcpy.env
似乎是某种字典类:

有了这些知识,您就可以使用

[]
运算符。例如:

import arcpy
import arcpy.management

arcpy.env["overwriteOutput"] = True  # <- using [] operator instead

arcpy.management.CreateFeatureclass(
     r"c:\temp", "buildings.shp", spatial_reference=arcpy.SpatialReference(4326))
© www.soinside.com 2019 - 2024. All rights reserved.