# 1.2.开发环境配置

## 前言

ArcGIS Desktop虽然自带有Python脚本编辑窗口，但是其无法进行调试，使用极不方便。Python作为当下最流行的一种开放语言之一，虽然其自带有IDE——IDLE，但是其开发体验并不友好，且功能不够强大，因此我们常安装第三方编辑器或者IDE。目前其使用最多的IDE或编辑器应该为PyCharm和VS Code，接下来我们将介绍如何在Windows上使用这两种IDE或编辑器。

### PyCharm

PyCharm是由JetBrains公司开发的一款Python的IDE，支持Python的智能提示、自动完成、调试、重构等一系列功能，能够极大提升开发者效率。PyCharm分为专业版与社区版，专业版的收费为每年199美元，社区版则是为个人开开发组提供免费使用。对于个人平常使用，社区版已经足够了，如果想要免费使用专业版，学生可凭借学校邮箱注册JetBrains账户，每个学生邮箱可免费使用JetBrains的所有软件产品三年（每年需要申请认证一次）。

PyCharm可以从其官网<https://www.jetbrains.com/pycharm/>进行下载，下载完成后，双击安装包，一路Next即可。安装完成后，打开PyCharm，其开屏界面如图1所示，点击“Create New Project”，选择新建项目的类型。​

![图 1](/files/-M688m--n7yNrpHNiaAx)

在新建项目配置窗口（如图 2所示），在左侧项目类型处选择“Pure Python”，在“location”位置处项目的保存路径。**注意**，在“Project Interpreter”中配置项目所使用的python编译器时，不要使用虚拟环境，选择“Existing interpreter”，然后通过点击右侧的“...”按钮，打开Python编译器的选择对话框（如图 3所示）。Python编译器的选择对话框中，选择使用“System Interpreter”，并在右侧的“Interpreter”选择出选择安装ArcGIS Desktop时所安装的python编译器，否则将无法使用ArcPy。最后点击“Create”即可。

![图 2](/files/-M68S3quE6rRqPVZDJzN)

![图 3​](/files/-M68SG7uphvO8LapKCYD)

新建项目后，如图 4所示，在IDE PyCharm左侧代码目录的“PyCharm”文件夹上，右键，依次选择New、Python File，新建一个名为“main.py”文件。​

![图 4​](/files/-M68SQl5taWM6mJu1OZh)

新建文件后，如图 5所示，点击IDE右上角的项目配置处，在下拉菜单中选择“Edit Configrations”，为项目添加一个运行配置，指明项目的入口文件，类似于选择C/C++等语言中main函数所在的文件。​

![图 5](/files/-M68SXparItc6t_yCFmD)

如图 6所示，在配置窗口中，依次点击窗口左上角的“+”号、Python，窗口的右侧将会出现项目的配置表单，如图 7所示。修改图 7中的“Name”和“Script Path”，其中“Name”是为本配置添加一个名称，当一个项目存在多个运行配置时，便于区分；“Script Path”是选择本配置的入口文件，这里通过点击“Script Path”最右侧的按钮“...”，通过目录浏览选择main.py。最后点击“OK”即可完成本配置。​

![图 6​​](/files/-M68Sf3KMzf7y2g5u6j1)

![图 7](/files/-M68SjyqbXvAIZ5V_EhR)

打开“main.py”，编写代码import arcpy，在其中输入以下代码：

```
import arcpy
print "print from PyCharm"
```

点击项目配置的右侧的运行按钮（如图 8所示），我们可以看到在下方的控制台中输出“print from PyCharm”。至此，已经可以使用PyCharm利用arcpy进行相关开发了。​

![图 8​](/files/-M68SuIwEIy3_pVaH3ON)

### VS Code

VS Code（以下简称VSC）是由微软开发的一款开源免费的跨平台编辑器，在Stack Overflow2019年的调研中，VSC被认为是最受开发者欢迎的开发环境。VSC的定位并不是一个IDE，而是一个编辑器，其可以通过安装相关的扩展来实现对不同语言的调试与编译。

VSC可以从其官网<https://code.visualstudio.com/>进行下载，其安装方式分为两种：exe可执行程序安装与zip压缩包安装。exe安装只需要将下载后安装包双击安装即可，运行时在Windows的开始菜单中找到VSC程序；zip压缩安装则需要将下载后的压缩包解压缩到本地，在运行时选择运行解压缩后文件夹中的“Code.exe”。VSC的运行界面如图 9所示。​

![图 9](/files/-M68T-Yjg17ungrVmubJ)

VSC支持中文界面。打开VSC后，按住【Ctrl+Shift+p】，在弹出的搜索框中输入`>Configure Display Language`，点击确定，选择“Install additional languages”，之后将会跳转到扩展安装界面，在搜索框中输入`@category:"language packs" Chinese`，可以看到相关的中文语言包，点击安装后重启VSC即可将界面切换到中文。

为了使得能够在VSC对Python进行调试，我们需要安装**Python**扩展插件。打开VSC的扩展中心，在扩展中心中搜索python，其中第一个就是我们需要的插件（如图 10），点击插件右下角的“Install”安装此插件，接下来就可以在VSC中对Python进行调试了。​

![图 10​](/files/-M68T5S-IbnJSl8Rc7yc)

VSC环境已经配置好了，接下来我们将使用VSC创建一个项目。如图11所示，点击VSC左上角“文件”，选择“打开文件夹”，在弹出的对话框中选择代码将存放的文件夹。​

![图 11](/files/-M68TGLmQWVuewUHyTnW)

现在，我们已经可以看到在上一步打开的vscode文件夹目录已经加载在VSC的代码目录区了。点击代码目录右侧的新建文件按钮，添加一个新文件“main.py”。注意，一定要新建文件的文件名一定要带上扩展名“.py”。​​

![图 12​](/files/-M68TWK_Pu9s2c7EGd8O)

稍等片刻，我们可以在VSC的左下角看到VSC已经智能的为我们找到本地计算机所安装的最新版本的Python（如图 13所示），但是arcpy只能使用安装ArcGIS Desktop时所安装的python2。点击此区域，我们可以VSC上方看到VSC在本地计算机找到的所有Python编译器列表（如图 14所示），点击选择ArcGIS自带的Python2的编译器即可。​&#x20;

![图 13​​](/files/-M68Taw7e2NydGmX2R5y)

![ 图 14​](/files/-M68Tik7ejqXlhKstSGg)

编辑“main.py”，输入以下代码，并点击如图 15所示VSC右上角的运行按钮，在下方的终端中可以看到“print from vscode”，arcpy运行环境已经配置成功。

```
import arcpy 
print "print from vscode"
```

![图 15​](/files/-M68TnmV7IubqSW389YH)

## python2文件编码声明

默认python2文件中是不支持中文的，对于如何能够在python2中使用中文，网上有多种方法教程，这里支出一种：在文件第一行加上编码声明。例如：

utf8编码：

```
# coding:utf-8
```

或者GB2312编码

```
# coding:cp936
```

在ArcPy中，其实使用GB2312编码会更好点，但是我会习惯性的会写utf-8，尽管这在ArcPy中并不是一个好习惯。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://zxyao.gitbook.io/arcpy/qian-yan/kai-fa-huan-jing-pei-zhi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
