Try   HackMD

讓Windows 7在MSYS2環境中編譯MicroPython

安裝所需套件

MSYS2使用pacman(出自Arch Linux)進行軟件包管理。

所需套件:

  • gcc
  • make
  • readline
  • git
  • Python
  • Python-pip

首先,從伺服器下載新的軟體包列表資料庫。

$ pacman -Sy

再來,安裝所需套件。

$ pacman -S msys2-devel make libreadline git python python-pip

msys2-devel包含gcc及相關開發套件

MINGW64:

  • mingw-w64-x86_64-toolchain (gcc & make)
  • mingw-w64-x86_64-readline

MINGW32:

  • mingw-w64-i686-toolchain (gcc & make)
  • mingw-w64-i686-readline

因為套件有多個鏡像伺服器,因為網路狀況可能導致無法連接一些伺服器,會顯示如下的訊息:

錯誤:無法取得檔案「python-pip-20.0-1-any.pkg.tar.xz」從 sourceforge.net:Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds
 python-pip-20.0-1-any   1023.4 KiB   448K/s 00:02 [#####################] 100%

若有顯示進度條在跑動,表示有連接到其他伺服器並正在下載套件包。

可以至/etc/pacman.d/mirrorlist.**修改,將無法連接的伺服器註解掉。

創建Python虛擬環境

為了使python腳本的構建過程不會受到用戶電腦上下載並安裝的python模組和程式庫的影響,需要建立Python虛擬環境。

首先安裝virtualenv及virtualenvwrapper。

$ pip install virtualenv virtualenvwrapper

接著創建環境變數WORKON_HOME,代表要存放所有虛擬環境的路徑。

這裡指定~/.virtualenvs為存放的路徑。

開啟~/.bashrc 腳本,添加下方指令。

export WORKON_HOME=~/.virtualenvs

再來需要安裝virtualenvwrapper的命令,這些命令包含在腳本virtualenvwrapper.sh

根據安裝路徑,該腳本位於/usr/bin/virtualenvwrapper.sh

開啟~/.bashrc 腳本,添加下方指令。

$ source /usr/bin/virtualenvwrapper.sh

重新啟動MSYS2,使Shell載入新增的環境變數及virtualenvwrapper命令。

接著創建虛擬環境資料夾。

$ mkdir -p $WORKON_HOME

現在,可以使用mkvirtualenv命令來建立虛擬環境。

$ mkvirtualenv --python=python3 microPython

mkvirtualenv命令在文件系統中為專案文件創建一個區域,並更新環境變量以指向新Python環境的本地安裝。

命令參數--python=python3告訴virtualenv使用Python3文件。microPython關鍵字是虛擬環境的名稱。

建立完成後將處於虛擬環境中,可以從bash shell的輸出中知道這一點。它應該在括號中顯示活動虛擬環境的名稱,如下所示:

(microPython)
UserName@ComputerName MSYS ~

要停用虛擬環境,您可以鍵入deactivate
要再次啟用虛擬環境,請鍵入source $WORKON_HOME/microPython/bin/activate

編譯MicroPython

要編譯MicroPython的Windows版本,必須使用mingw64 Shell執行。

開啟MSYS2的mingw64 Shell,並啟用microPython虛擬環境。

先創建一個資料夾來存放與MicroPython相關的專案,這裡指定~/mpy-projects:

$ mkdir mpy-projects
$ cd mpy-projects

接著使用git將將MicroPython遠端存儲庫複製(clone)到本地計算機:

$ git clone --recursive https://github.com/micropython/micropython.git

將目錄更改為windows構建目錄後開始編譯:

$ cd micropython/ports/windows
$ make

編譯完成後,查看micropython幫助訊息:

$ ./micropython -h

執行時版本資訊

參考