###### tags: `ESP32` `FM635A`
# ESP32 在 macOS Arduino IDE 編譯及上傳問題
如果您依照手冊安裝 2.0.2 版的 ESP32 Arduino 開發包, 那麼在 macOS 12.3(Monterey) 或更新的版本後, 會發現要使用 Arduino IDE 編譯 ESP32 的程式會出現以下的錯誤:
![](https://i.imgur.com/dRmjCnZ.png)
這是因為 ESP32 Arduino 開發包會使用到使用 python 撰寫的工具程式, 但是 macOS 在升級到 12.3 時把[內建的 Python 2.7 拿掉](https://developer.apple.com/documentation/macos-release-notes/macos-12_3-release-notes#Python)了, 所以你會在 Arduino 的訊息窗內看到要執行 python 時找不到這個指令。
## 解決 Python 問題
上述問題在新版本的 ESP32 Arduino 開發包裡面已經修正, 改為使用 macOS 本身另外提供的 Python 3 環境。因此, 要解決無法執行 Python 的問題, 請依照以下步驟完成:
1. 回到**開發板管理員**, 安裝 2.0.3 以上的版本, 本文撰寫時最新版本為 2.0.5:
![](https://i.imgur.com/5rPOz21.png)
![](https://i.imgur.com/ISGgXzc.png)
2. 由於 Python 3 環境預設是沒有安裝的, 所以當你更新完 ESP32 Arduino 開發包, 第一次編譯時還是會發生錯誤, 只是錯誤訊息不一樣:
![](https://i.imgur.com/jXzzRtn.png)
紅橘色的錯誤訊息會告訴你找不到**開發者工具**, 同時你會看到出現一個交談窗, 詢問你要不要安裝包含有 Python3 的**命令列開發者工具**, 請按**安裝**。
:::info
如果沒有出線上述交談窗, 也可以自行開啟終端機, 然後輸入以下指令安裝:
```
xcode-select --install
```
:::
3. 安裝完成後再重新上傳程式, 就可以正常運作。
## 解決上傳程式傳輸速率的問題
如果你上傳程式時看到以下的錯誤訊息:
![](https://i.imgur.com/HHbYO5H.png)
請檢查『**工具/Upload Speed**』項目, 預設是 921600, macOS 無法運作, 請改成較低的速率即可:
![](https://i.imgur.com/FtwIIo4.png)