Try   HackMD

[Scratch & Python] 在 MacOS 上安裝 OpenCV 3、Python 3、Numpy、PyAutoGui、Spyder 3、MSS

第零步:了解如何使用 MacOS 內建 Terminal(終端機)

在 MacOS 中,系統有內建 Terminal(終端機),可用來執行各種有用的指令。在資訊領域,懂得利用 Terminal 可說是根本中的根本。

在 MacOS 中,終端機預設會在軟體選單的「其他」裡面,可以直接打開。(當然你也可以使用 MacOS 的 spotlight 功能,快速鍵 ⌘ + 空白鍵,直接鍵入「終端機」)

在其他分頁裡面

Spotlight

點開之後,會出現如下視窗:

在這視窗中,會看到zhouyuxinde-MacBook-Pro:~ yqkqknct$ zhouyuxinde-MacBook-Pro 會是你的電腦名稱,而 yqkqknct 會是你目前的使用者帳號。而在這個視窗中,就可以打入各式各樣的指令(之後各步驟都是指令,都要在終端機打入),打完之後按 return 即可執行。

順便推薦更好用的 Terminal 軟體:iTerm2 - macOS Terminal Replacement,支援分頁視窗、分割視窗等原生沒有的方便功能。

第一步:安裝 Xcode(若已安裝,請跳過)

Xcode 裡有許多與 C 語言相關的編譯器,為了確保順利安裝其他套件,建議先安裝好 Xcode。可以在 App Store 中直接安裝。

如果你不想要安裝完整版的 Xcode,也可以考慮安裝 Command Line Tools。在 Terminal 中執行:

xcode-select --install

第二步:安裝 Homebrew(若已安裝,請跳過)

Homebrew 是 macOS 上頗具盛名的套件管理工具,有許多實用的套件都可利用 Homebrew 來安裝、管理。我們會使用 Homebrew 來安裝 OpenCV、Numpy、Python。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

第三步:安裝 Python 3

注意:若先前並非使用 Homebrew 安裝 Python 3(如透過官網下載等等),建議先移除電腦內的所有 Python 安裝,再使用 Homebrew 重裝一遍,以避免發生問題。

brew install python3

確認是否安裝成功

在 Terminal 中執行 python3,如果可以跑出如下圖的樣子就代表安裝成功。(圖中 Python 3.6.4,代表安裝的是 Python 3 版本系列,是本課程需要的)

第四步:安裝 Numpy

在 Terminal 中執行

pip3 install numpy

以安裝 Numpy,也這是 OpenCV 的前置套件。

第五步:安裝 OpenCV 3

注意:OpenCV 由於功能非常龐大、厲害,其關聯的套件也非常多。以下的步驟不保證能夠安裝成功,安裝是否會成功仍會取決於原本電腦中的環境狀況。如果照著本篇文章無法安裝成功,文末會提供一些我認為值得參考的網路教學文章,可先參考。如果嘗試過後仍舊無法安裝成功,再與助教聯繫求助。

首先,在 Terminal 中執行以下以安裝 OpenCV 3:

brew install opencv3 --with-python3 --with-contrib

此套件較複雜,可能需要較多時間下載。

檢查是否安裝成功

一樣先執行 python3 指令,接著試著匯入 OpenCV:(如果你很好奇為何是 cv2,請看這篇文章

import cv2

如果沒有錯誤,如下圖,代表安裝成功!

另外,你也可以輸入

cv2.__version__

來看看你安裝好 OpenCV 的版本,應該會得到 3.4。

可參考文章

第六步:安裝 PyAutoGui

打開 Terminal,依序執行

pip3 install pyobjc-core
pip3 install pyobjc
pip3 install pyautogui

確認是否安裝成功

同樣執行 python3,接著打入 import pyautogui,若沒有錯誤即表示安裝成功,如下圖:

第八步:安裝 MSS

打開 Terminal,執行

pip3 install --upgrade mss

確認是否安裝成功

打開 Terminal,執行 python3,接著打入 import mss,若沒有錯誤即表示安裝成功,如下圖:

第七步:安裝 Spyder 3

打開 Terminal,執行

pip3 install -U spyder

確認是否安裝成功

打開 Terminal,執行 spyder3,會出現一個視窗軟體,就代表安裝成功。如下圖:

最終步:確認是否都安裝成功

可在剛才打開的 Spyder 3 中,右下方分別輸入 import cv2import numpyimport pyautoguiimport mss,如果都沒有錯誤就代表安裝成功了!如下圖:

當然你也可以在 Terminal 中也測試一遍:

試跑 Google 小恐龍 Agent

課程網頁下載,我們要使用的小程式位於 dino 資料夾內。請記得也要下載 dino 資料夾裡的小恐龍圖片,用來比對用!

找到剛才下載的檔案,打開 dino 資料夾,在 detect.py 檔案上按右鍵 → 詳細資訊,把「位置:」後面的東西都複製起來:

接著,在 Terminal 中打入(請將 /Users/yqkqknct/Downloads/snp2018-master/dino 改成你剛才複製的內容):

cd /Users/yqkqknct/Downloads/snp2018-master/dino

cd + 路徑 代表把當前終端機所在位置,切換到給定的路徑中(在這裡就是 dino 資料夾內)。接著執行

python3 detect.py

表示用 Python 3 執行 detect.py 這個 Python 3 程式。接著斷開網路後,打開 Chrome 就可以開始玩這個遊戲。detect.py 會打開一個不停地做螢幕截圖的視窗,你可以發現他會找出小恐龍的位置,並用綠色框標注起來。

也可以直接使用線上版的此遊戲:Dinosaur Jump

如果發生問題

如果遭遇任何錯誤訊息,建議先將錯誤訊息拿去 Google 看看是否有解法;如果嘗試許久仍無法解決,請聯繫 TA:周玉鑫 yqkqknct@gmail.com,詳述錯誤訊息與截圖,或課後來詢問。