2023年2月21日 星期二

Mapleboard MP510-50 測試 (十二) : 安裝 Python 開發工具 Thonny

搞定了 Mapleboard 的 PPPoE 撥接上網取得光世代固定 IP 后, 就可以開始著手架站了. 因我主要用 Python 進行開發, 所以必須先安裝 Python 開發工具, Mapleboard 的 Ubuntu Mate 預設已安裝 VS Code, 但我還不會用, 所以還是安裝最熟悉的輕量級開發工具 Thonny 吧!

我參考之前在樹莓派的經驗, 以為是要 python3-thonny, 結果找不到此套件 :


one@LX2438:~$ sudo apt-get install python3-thonny   
[sudo] one 的密碼: 
正在讀取套件清單... 完成
正在重建相依關係... 完成  
正在讀取狀態資料... 完成  
E: 找不到套件 python3-thonny  

後來找到下面這篇文章 :


文中介紹了三種在 Linux 上安裝 Thonny 的方法, 我先用 pip 安裝 :

one@LX2438:~$ pip3 install thonny    
Defaulting to user installation because normal site-packages is not writeable
Collecting thonny
  Downloading thonny-4.0.2-py3-none-any.whl (1.9 MB)

......(略)......

  WARNING: The script send2trash is installed in '/home/one/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The scripts pyserial-miniterm and pyserial-ports are installed in '/home/one/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The scripts isort and isort-identify-imports are installed in '/home/one/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script docutils is installed in '/home/one/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The scripts dmypy, mypy, mypyc, stubgen and stubtest are installed in '/home/one/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The scripts epylint, pylint, pylint-config, pyreverse and symilar are installed in '/home/one/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed Send2Trash-1.8.0 astroid-2.14.2 asttokens-2.2.1 dill-0.3.6 docutils-0.19 isort-5.12.0 jedi-0.18.2 lazy-object-proxy-1.9.0 mccabe-0.7.0 mypy-1.0.1 mypy-extensions-1.0.0 parso-0.8.3 platformdirs-3.0.0 pylint-2.16.2 pyserial-3.5 thonny-4.0.2 tomli-2.0.1 tomlkit-0.11.6 typing-extensions-4.5.0 wrapt-1.14.1

雖然出現  '/home/one/.local/bin' which is not on PATH 的 Warning 訊息, 但整體來看應該是安裝成功, 但點左上角開始選單進入 "軟體開發" 功能表卻沒看到 Thonny 這軟體, 所以我改用第二種方法, 使用 apt 套件管理器下載安裝, 指令如下 : 

sudo apt install thonny

one@LX2438:~$ sudo apt install thonny    
[sudo] one 的密碼: 
正在讀取套件清單... 完成
正在重建相依關係... 完成  
正在讀取狀態資料... 完成  
下列的額外套件將被安裝:
  blt docutils-common libtk8.6 mypy pylint python3-astroid python3-asttokens
  python3-docutils python3-isort python3-jedi python3-lazy-object-proxy
  python3-logilab-common python3-mccabe python3-mypy python3-mypy-extensions
  python3-parso python3-pip-whl python3-platformdirs python3-pygments
  python3-roman python3-send2trash python3-serial python3-setuptools-whl
  python3-tk python3-toml python3-tomli python3-typed-ast python3-typeshed
  python3-typing-extensions python3-venv python3-wrapt python3.10-venv
  tk8.6-blt2.5 xsel
建議套件:
  blt-demo tk8.6 mypy-doc pylint-doc docutils-doc fonts-linuxlibertine
  | ttf-linux-libertine texlive-lang-french texlive-latex-base
  texlive-latex-recommended python-pygments-doc ttf-bitstream-vera
  python3-wxgtk3.0 | python3-wxgtk tix python3-tk-dbg
下列【新】套件將會被安裝:
  blt docutils-common libtk8.6 mypy pylint python3-astroid python3-asttokens
  python3-docutils python3-isort python3-jedi python3-lazy-object-proxy
  python3-logilab-common python3-mccabe python3-mypy python3-mypy-extensions
  python3-parso python3-pip-whl python3-platformdirs python3-pygments
  python3-roman python3-send2trash python3-serial python3-setuptools-whl
  python3-tk python3-toml python3-tomli python3-typed-ast python3-typeshed
  python3-typing-extensions python3-venv python3-wrapt python3.10-venv thonny
  tk8.6-blt2.5 xsel
升級 0 個,新安裝 35 個,移除 0 個,有 27 個未被升級。
需要下載 21.8 MB 的套件檔。
此操作完成之後,會多佔用 96.5 MB 的磁碟空間。
是否繼續進行 [Y/n]? [Y/n] Y
下載:1 http://ports.ubuntu.com jammy/main arm64 libtk8.6 arm64 8.6.12-1build1 [777 kB]
下載:2 http://ports.ubuntu.com jammy/main arm64 tk8.6-blt2.5 arm64 2.5.3+dfsg-4.1build2 [625 kB]
下載:3 http://ports.ubuntu.com jammy/main arm64 blt arm64 2.5.3+dfsg-4.1build2 [4,838 B]
下載:4 http://ports.ubuntu.com jammy/main arm64 docutils-common all 0.17.1+dfsg-2 [117 kB]
下載:5 http://ports.ubuntu.com jammy/universe arm64 python3-mypy-extensions all 0.4.3-2 [5,752 B]
下載:6 http://ports.ubuntu.com jammy/universe arm64 python3-tomli all 1.2.2-2 [12.9 kB]
下載:7 http://ports.ubuntu.com jammy/universe arm64 python3-typing-extensions all 3.10.0.2-1 [35.7 kB]
下載:8 http://ports.ubuntu.com jammy/universe arm64 python3-typed-ast arm64 1.4.3-1build1 [165 kB]
下載:9 http://ports.ubuntu.com jammy-updates/universe arm64 python3-mypy arm64 0.942-1ubuntu1 [13.4 MB]
下載:10 http://ports.ubuntu.com jammy-updates/universe arm64 mypy all 0.942-1ubuntu1 [24.5 kB]
下載:11 http://ports.ubuntu.com jammy/universe arm64 python3-lazy-object-proxy arm64 1.7.1-1build1 [19.4 kB]
下載:12 http://ports.ubuntu.com jammy/main arm64 python3-wrapt arm64 1.13.3-1build1 [33.0 kB]
下載:13 http://ports.ubuntu.com jammy/universe arm64 python3-astroid all 2.9.3-1 [159 kB]
下載:14 http://ports.ubuntu.com jammy/universe arm64 python3-toml all 0.10.2-1 [16.5 kB]
下載:15 http://ports.ubuntu.com jammy/universe arm64 python3-isort all 5.6.4-1 [63.1 kB]
下載:16 http://ports.ubuntu.com jammy/universe arm64 python3-logilab-common all 1.8.2-1 [306 kB]
下載:17 http://ports.ubuntu.com jammy/universe arm64 python3-mccabe all 0.6.1-3 [8,488 B]
下載:18 http://ports.ubuntu.com jammy/universe arm64 python3-platformdirs all 2.5.1-1 [14.2 kB]
下載:19 http://ports.ubuntu.com jammy/universe arm64 pylint all 2.12.2-1 [266 kB]
下載:20 http://ports.ubuntu.com jammy/universe arm64 python3-asttokens all 2.0.5-1 [15.1 kB]
下載:21 http://ports.ubuntu.com jammy/main arm64 python3-roman all 3.3-1 [10.6 kB]
下載:22 http://ports.ubuntu.com jammy/main arm64 python3-docutils all 0.17.1+dfsg-2 [387 kB]
下載:23 http://ports.ubuntu.com jammy/universe arm64 python3-parso all 0.8.1-1 [64.5 kB]
下載:24 http://ports.ubuntu.com jammy/universe arm64 python3-jedi all 0.18.0-1 [615 kB]
下載:25 http://ports.ubuntu.com jammy-security/universe arm64 python3-pip-whl all 22.0.2+dfsg-1ubuntu0.1 [1,679 kB]
下載:26 http://ports.ubuntu.com jammy/main arm64 python3-pygments all 2.11.2+dfsg-2 [750 kB]
下載:27 http://ports.ubuntu.com jammy/universe arm64 python3-send2trash all 1.8.1~b0-1 [15.6 kB]
下載:28 http://ports.ubuntu.com jammy/main arm64 python3-serial all 3.5-1 [78.7 kB]
下載:29 http://ports.ubuntu.com jammy-security/universe arm64 python3-setuptools-whl all 59.6.0-1.2ubuntu0.22.04.1 [788 kB]
下載:30 http://ports.ubuntu.com jammy-updates/main arm64 python3-tk arm64 3.10.6-1~22.04 [111 kB]
下載:31 http://ports.ubuntu.com jammy/universe arm64 python3-typeshed all 0.0~git20211009.0142ea8-3 [445 kB]
下載:32 http://ports.ubuntu.com jammy-security/universe arm64 python3.10-venv arm64 3.10.6-1~22.04.2 [5,722 B]
下載:33 http://ports.ubuntu.com jammy-updates/universe arm64 python3-venv arm64 3.10.6-1~22.04 [1,038 B]
下載:34 http://ports.ubuntu.com jammy/universe arm64 thonny all 3.3.14-1 [771 kB]
下載:35 http://ports.ubuntu.com jammy/universe arm64 xsel arm64 1.2.0+git9bfc13d.20180109-3 [19.3 kB]
取得 21.8 MB 用了 13s (1,635 kB/s)                                             
從套件中提取樣板:100%
選取了原先未選的套件 libtk8.6:arm64。
(讀取資料庫 ... 目前共安裝了 279729 個檔案和目錄。)
正在準備解包 .../00-libtk8.6_8.6.12-1build1_arm64.deb……
解開 libtk8.6:arm64 (8.6.12-1build1) 中...
選取了原先未選的套件 tk8.6-blt2.5。
正在準備解包 .../01-tk8.6-blt2.5_2.5.3+dfsg-4.1build2_arm64.deb……
解開 tk8.6-blt2.5 (2.5.3+dfsg-4.1build2) 中...
選取了原先未選的套件 blt。
正在準備解包 .../02-blt_2.5.3+dfsg-4.1build2_arm64.deb……
解開 blt (2.5.3+dfsg-4.1build2) 中...
選取了原先未選的套件 docutils-common。
正在準備解包 .../03-docutils-common_0.17.1+dfsg-2_all.deb……
解開 docutils-common (0.17.1+dfsg-2) 中...
選取了原先未選的套件 python3-mypy-extensions。
正在準備解包 .../04-python3-mypy-extensions_0.4.3-2_all.deb……
解開 python3-mypy-extensions (0.4.3-2) 中...
選取了原先未選的套件 python3-tomli。
正在準備解包 .../05-python3-tomli_1.2.2-2_all.deb……
解開 python3-tomli (1.2.2-2) 中...
選取了原先未選的套件 python3-typing-extensions。
正在準備解包 .../06-python3-typing-extensions_3.10.0.2-1_all.deb……
解開 python3-typing-extensions (3.10.0.2-1) 中...
選取了原先未選的套件 python3-typed-ast。
正在準備解包 .../07-python3-typed-ast_1.4.3-1build1_arm64.deb……
解開 python3-typed-ast (1.4.3-1build1) 中...
選取了原先未選的套件 python3-mypy。
正在準備解包 .../08-python3-mypy_0.942-1ubuntu1_arm64.deb……
解開 python3-mypy (0.942-1ubuntu1) 中...
選取了原先未選的套件 mypy。
正在準備解包 .../09-mypy_0.942-1ubuntu1_all.deb……
解開 mypy (0.942-1ubuntu1) 中...
選取了原先未選的套件 python3-lazy-object-proxy。
正在準備解包 .../10-python3-lazy-object-proxy_1.7.1-1build1_arm64.deb……
解開 python3-lazy-object-proxy (1.7.1-1build1) 中...
選取了原先未選的套件 python3-wrapt。
正在準備解包 .../11-python3-wrapt_1.13.3-1build1_arm64.deb……
解開 python3-wrapt (1.13.3-1build1) 中...
選取了原先未選的套件 python3-astroid。
正在準備解包 .../12-python3-astroid_2.9.3-1_all.deb……
解開 python3-astroid (2.9.3-1) 中...
選取了原先未選的套件 python3-toml。
正在準備解包 .../13-python3-toml_0.10.2-1_all.deb……
解開 python3-toml (0.10.2-1) 中...
選取了原先未選的套件 python3-isort。
正在準備解包 .../14-python3-isort_5.6.4-1_all.deb……
解開 python3-isort (5.6.4-1) 中...
選取了原先未選的套件 python3-logilab-common。
正在準備解包 .../15-python3-logilab-common_1.8.2-1_all.deb……
解開 python3-logilab-common (1.8.2-1) 中...
選取了原先未選的套件 python3-mccabe。
正在準備解包 .../16-python3-mccabe_0.6.1-3_all.deb……
解開 python3-mccabe (0.6.1-3) 中...
選取了原先未選的套件 python3-platformdirs。
正在準備解包 .../17-python3-platformdirs_2.5.1-1_all.deb……
解開 python3-platformdirs (2.5.1-1) 中...
選取了原先未選的套件 pylint。
正在準備解包 .../18-pylint_2.12.2-1_all.deb……
解開 pylint (2.12.2-1) 中...
選取了原先未選的套件 python3-asttokens。
正在準備解包 .../19-python3-asttokens_2.0.5-1_all.deb……
解開 python3-asttokens (2.0.5-1) 中...
選取了原先未選的套件 python3-roman。
正在準備解包 .../20-python3-roman_3.3-1_all.deb……
解開 python3-roman (3.3-1) 中...
選取了原先未選的套件 python3-docutils。
正在準備解包 .../21-python3-docutils_0.17.1+dfsg-2_all.deb……
解開 python3-docutils (0.17.1+dfsg-2) 中...
選取了原先未選的套件 python3-parso。
正在準備解包 .../22-python3-parso_0.8.1-1_all.deb……
解開 python3-parso (0.8.1-1) 中...
選取了原先未選的套件 python3-jedi。
正在準備解包 .../23-python3-jedi_0.18.0-1_all.deb……
解開 python3-jedi (0.18.0-1) 中...
選取了原先未選的套件 python3-pip-whl。
正在準備解包 .../24-python3-pip-whl_22.0.2+dfsg-1ubuntu0.1_all.deb……
解開 python3-pip-whl (22.0.2+dfsg-1ubuntu0.1) 中...
選取了原先未選的套件 python3-pygments。
正在準備解包 .../25-python3-pygments_2.11.2+dfsg-2_all.deb……
解開 python3-pygments (2.11.2+dfsg-2) 中...
選取了原先未選的套件 python3-send2trash。
正在準備解包 .../26-python3-send2trash_1.8.1~b0-1_all.deb……
解開 python3-send2trash (1.8.1~b0-1) 中...
選取了原先未選的套件 python3-serial。
正在準備解包 .../27-python3-serial_3.5-1_all.deb……
解開 python3-serial (3.5-1) 中...
選取了原先未選的套件 python3-setuptools-whl。
正在準備解包 .../28-python3-setuptools-whl_59.6.0-1.2ubuntu0.22.04.1_all.deb……
解開 python3-setuptools-whl (59.6.0-1.2ubuntu0.22.04.1) 中...
選取了原先未選的套件 python3-tk:arm64。
正在準備解包 .../29-python3-tk_3.10.6-1~22.04_arm64.deb……
解開 python3-tk:arm64 (3.10.6-1~22.04) 中...
選取了原先未選的套件 python3-typeshed。
正在準備解包 .../30-python3-typeshed_0.0~git20211009.0142ea8-3_all.deb……
解開 python3-typeshed (0.0~git20211009.0142ea8-3) 中...
選取了原先未選的套件 python3.10-venv。
正在準備解包 .../31-python3.10-venv_3.10.6-1~22.04.2_arm64.deb……
解開 python3.10-venv (3.10.6-1~22.04.2) 中...
選取了原先未選的套件 python3-venv。
正在準備解包 .../32-python3-venv_3.10.6-1~22.04_arm64.deb……
解開 python3-venv (3.10.6-1~22.04) 中...
選取了原先未選的套件 thonny。
正在準備解包 .../33-thonny_3.3.14-1_all.deb……
解開 thonny (3.3.14-1) 中...
選取了原先未選的套件 xsel。
正在準備解包 .../34-xsel_1.2.0+git9bfc13d.20180109-3_arm64.deb……
解開 xsel (1.2.0+git9bfc13d.20180109-3) 中...
設定 xsel (1.2.0+git9bfc13d.20180109-3) ...
設定 python3-setuptools-whl (59.6.0-1.2ubuntu0.22.04.1) ...
設定 python3-send2trash (1.8.1~b0-1) ...
設定 python3-tomli (1.2.2-2) ...
設定 python3-parso (0.8.1-1) ...
設定 python3-pip-whl (22.0.2+dfsg-1ubuntu0.1) ...
設定 python3-typed-ast (1.4.3-1build1) ...
設定 python3-asttokens (2.0.5-1) ...
設定 python3-mypy-extensions (0.4.3-2) ...
設定 libtk8.6:arm64 (8.6.12-1build1) ...
設定 python3-platformdirs (2.5.1-1) ...
設定 python3-serial (3.5-1) ...
設定 python3-roman (3.3-1) ...
設定 python3-pygments (2.11.2+dfsg-2) ...
設定 python3-typeshed (0.0~git20211009.0142ea8-3) ...
設定 python3-wrapt (1.13.3-1build1) ...
設定 python3-typing-extensions (3.10.0.2-1) ...
設定 python3-toml (0.10.2-1) ...
設定 python3-isort (5.6.4-1) ...
設定 docutils-common (0.17.1+dfsg-2) ...
設定 python3-mccabe (0.6.1-3) ...
設定 python3-lazy-object-proxy (1.7.1-1build1) ...
設定 tk8.6-blt2.5 (2.5.3+dfsg-4.1build2) ...
設定 python3.10-venv (3.10.6-1~22.04.2) ...
設定 python3-jedi (0.18.0-1) ...
設定 python3-logilab-common (1.8.2-1) ...
設定 blt (2.5.3+dfsg-4.1build2) ...
設定 python3-tk:arm64 (3.10.6-1~22.04) ...
設定 python3-venv (3.10.6-1~22.04) ...
設定 python3-mypy (0.942-1ubuntu1) ...
設定 python3-astroid (2.9.3-1) ...
設定 mypy (0.942-1ubuntu1) ...
設定 pylint (2.12.2-1) ...
執行 bamfdaemon (0.5.6+22.04.20220217-0ubuntu1) 的觸發程式……
Rebuilding /usr/share/applications/bamf-2.index...
執行 desktop-file-utils (0.26-1ubuntu3) 的觸發程式……
執行 hicolor-icon-theme (0.17-2) 的觸發程式……
執行 gnome-menus (3.36.0-1ubuntu3) 的觸發程式……
執行 mate-menus (1.26.0-2ubuntu2) 的觸發程式……
執行 libc-bin (2.35-0ubuntu3.1) 的觸發程式……
執行 man-db (2.10.2-1) 的觸發程式……
執行 shared-mime-info (2.1-2) 的觸發程式……
執行 sgml-base (1.30) 的觸發程式……
設定 python3-docutils (0.17.1+dfsg-2) ...
執行 mailcap (3.70+nmu1ubuntu1) 的觸發程式……
設定 thonny (3.3.14-1) ...
one@LX2438:~$ 

安裝完成後到 "軟體開發" 功能表就可看到 Thonny 了 :




點擊執行 Thonny, 預設是大工具列按鈕模式, 按右上角的超連結可改成 regular mode. 預設介面是英文, 點選 "Tools/Options", 將 Language 改成繁體中文, 按 OK 后關掉 Thonny 重新開啟即可改成繁中介面了 : 





可見它使用了 Ubuntu Mate 搭載的 Python 3.10.6 解譯器, 預設程式位置是在 /usr/bin/python3, 但可以在 "工具/選項/直譯器" 選單中更改路徑 :




這樣就完成安裝了, 結論是要用 sudo apt 來安裝 Thonny 才對, 不要用 pip

沒有留言 :