错误消息
ArcGIS for Desktop 样式文件 (.style) 有助于在地图图层中组织符号和现有的图例项目。 图例项目可存储图例的相关信息,并定义图层在图例中的显示方式。 如果在 64 位 Python 集成开发环境 (IDE) 中运行 arcpy.mapping.ListStyleItems 函数,则可能会运行失败,并显示以下错误。
错误:
IO 错误:未找到名为“Esri.style”的样式。 请确保样式文件存在。
原因
下面是可能导致此问题的原因:
- 无法将 ArcGIS for Desktop 样式文件 (.style) 加载到 64 位应用程序中。 在 ArcGIS for Desktop 中创建的样式文件 (.style) 为 32 位,并由此引发了该项冲突。
- 在同一台计算机上安装 ArcGIS for Desktop(32 位)和 ArcGIS for Server(64 位)版本的 Python 可能会导致在运行 Python 脚本时产生冲突。 默认情况下,Microsoft Windows 操作系统会将 Python (.py) 文件与最后安装的 Python 版本相关联。 例如,如果先安装了 ArcGIS for Desktop(32 位),然后安装 ArcGIS for Server(64 位),则 Python (.py) 文件将与 ArcGIS for Server 64 位版本相关联。
- 已安装并运行了 ArcGIS for Desktop Background Geoprocessing(64 位)修补程序。 ArcGIS for Desktop 支持该修补程序,并能够在 64 位环境中打开 Python 文件。 如果以 32 位运行 Python 脚本,则可能会导致冲突。
解决方案或解决方法
下面是此问题可能的解决方法。
- 使用 32 位 Python IDE 来运行 Python 脚本,并从 32 位 Python IDE 运行 arcpy.mapping.ListStyleItems 函数。 ArcGIS for Desktop 可提供 32 位和 64 位 IDE。 32 位版本位于 C:\Python27\ArcGIS10.x\Lib\idlelib\idle.bat,64 位版本位于 C:\Python27\ArcGISx6410.x\Lib\idlelib\idle.bat。
- 卸载 ArcGIS for Desktop Background Geoprocessing(64 位)修补程序。 该操作会将 ArcGIS for Desktop 返回到 32 位后台处理。 以下 ArcGIS for Desktop 文档对此进行了详细介绍:后台地理处理(64 位)。
- 将 ArcGIS for Desktop 样式文件 (.style) 转换为 ArcGIS for Server 样式文件 (.serverstyle)。 请使用“创建服务器样式集”工具来执行转换。
- 导航至以下路径 C:\Program Files (x86)\ArcGIS\Desktop10.x\bin,并找到创建服务器样式集工具。
- 打开创建服务器样式集工具。
- 单击选择... 以打开并浏览包含要转换的 .style 文件的文件夹。
- 单击创建,将 ArcGIS for Desktop 样式文件 (.style) 转换为 ArcGIS for Server 样式文件 (.ServerStyle)。