## 2. 安裝
本章節提供以下平台的安裝說明:
* Microsoft Windows
* Linux
* OS-X
另請參考:
* 安裝最新原始碼
* 系統需求
* 診斷腳本
### 2.1. Microsoft Windows
從原始碼庫下載安裝程式,並在您的電腦上執行。安裝程式包含所有所需的元件。
#### 2.1.1. 在 Windows 上從原始碼安裝
一個簡單的方法是安裝 WinPython。這是一個獨立的 Python 發行版,包含 FlatCAM 所需的所有依賴庫,但不包含 Shapely 和 RTree。這兩個套件的非官方 Windows 二進位檔可於此下載:Unofficial Windows Binaries for Python Extension Packages。
安裝完依賴庫後,下載最新的 .zip 發行版(或如「安裝最新原始碼」所述的最新原始碼,但無法保證可用),解壓縮後進入資料夾,執行:
```bash
python FlatCAM.py
```
### 2.2. Linux
FlatCAM 應該可以在大多數 Linux 發行版上運作,但官方測試以 Ubuntu 為主。
在 Linux 上必須從原始碼安裝 FlatCAM。你可以從原始碼庫下載發行版的 .zip 檔或是「安裝最新原始碼」所述的最新原始碼。
FlatCAM 需要多個依賴套件,詳見下方「需求」。在嘗試手動安裝前,可以先執行附帶的設定腳本 `setup_ubuntu.sh`,它會自動下載並安裝所需套件。
#### 2.2.1. Linux 手動安裝
在 Linux 環境下,大多數套件管理工具(如 yum、apt-get)會自動尋找並安裝指定套件的所有依賴,安裝順序與套件名稱請參考提供的 `setup_ubuntu.sh` 腳本。
安裝好依賴後,下載最新的 .zip 發行版(或最新原始碼,但無保證可用),解壓縮,切換到資料夾後執行:
```bash
python FlatCAM.py
```
### 2.3. OS-X
FlatCAM 必須從原始碼安裝,所有依賴套件(見需求)須手動安裝。
首先安裝二進位套件:pyqt、geos、spatialindex。可以使用 Homebrew 來安裝:
```bash
brew install 套件名稱
```
接著用 pip 安裝 Python 套件(numpy、matplotlib、rtree、scipy、shapely、simplejson):
```bash
pip install 套件名稱
```
最後,下載最新的 FlatCAM .zip 或原始碼,切換到資料夾,執行:
```bash
python FlatCAM.py
```
### 2.4. 需求條件
FlatCAM 使用 Python 編寫,利用 Python 標準函式庫與以下第三方函式庫:
* Python 2.7 32-bit
* PyQt 4
* Matplotlib 1.3.1
* Numpy 1.8
* Shapely 1.3
* GEOS(二進位套件,Shapely 依賴)
* RTree
* SpatialIndex(二進位套件,RTree 依賴)
這些套件本身也可能有其它依賴。
### 2.5. 診斷腳本
原始碼附帶 `sandbox/diagnose.py` 腳本,可用來測試 FlatCAM 需要的 Python 函式庫是否成功匯入並顯示版本號。對於使用者間的環境溝通及問題排除很有幫助。
### 2.6. 安裝最新原始碼
FlatCAM 的原始碼使用版本控制系統 Git 進行管理。版本控制可追蹤每次程式碼的變動,方便全球用戶共同協作。
公開的程式庫位於:[https://bitbucket.org/jpcgt/flatcam](https://bitbucket.org/jpcgt/flatcam)
在任何安裝有 Git 的 Unix 類系統上,使用下列指令可複製程式庫到本機:
```bash
git clone https://bitbucket.org/jpcgt/flatcam
```
此指令會在目前目錄建立一個名為 `flatcam` 的資料夾。
安裝好所有依賴後,可直接從該資料夾執行 FlatCAM:
```bash
cd flatcam
python FlatCAM.py
```
該資料夾內也包含 `.git` 資料夾,保存專案完整歷史紀錄。
想了解如何為 FlatCAM 貢獻程式碼,請參考:[http://flatcam.org/development](http://flatcam.org/development)
想進一步學習 Git 版本控制,請參考:
* [https://git-scm.com/](https://git-scm.com/)
* [https://confluence.atlassian.com/bitbucket/tutorial-learn-git-with-bitbucket-cloud-759857287.html](https://confluence.atlassian.com/bitbucket/tutorial-learn-git-with-bitbucket-cloud-759857287.html)