置頂

我的 VPython 教學文件 (HackMD 版本)

VPython 教學文件目錄 安裝及測試 基本語法 等速度直線運動 自由落下 終端速度 水平抛射 使用For迴圈計算水平抛射資料 斜向抛射 圓周運動 簡諧運動 單擺 木塊彈簧系統分離 重力及簡諧 行星運動 相疊木塊 雙重簡諧運動 一維彈性碰撞 ...

熱門文章

2023年1月4日 星期三

使用 Anaconda 安裝 VPython

作者:王一哲
日期:2023年1月4日


前言


這是一套開放原始碼的 Python 與 R 語言發行版,官方網站為 https://www.anaconda.com/。它包含比較便於操作的套件管理工具,可以支援 Windows、MacOS、Linux 三種作業系統。理論上也可以安裝 VPython,以下是我的測試過程。


Windows 10



安裝 Anaconda



測試環境為 Windows 10 企業版,使用的軟體為 Anaconda + Python 3.9 + Windows 64位元版本。於下載好的 Anaconda 安裝檔上按滑鼠右鍵,選擇以系統管理員身分執行,安裝過程基本上就是一直按 Enter 即可。
Anaconda 安裝步驟1:點擊 Next 即可


Anaconda 安裝步驟2:點擊 I Agree


Anaconda 安裝步驟3:可以選擇只安裝給這個使用者 Just Me 或是所有使用者 All Users。


Anaconda 安裝步驟4:選擇安裝路徑,採用預設值即可。


Anaconda 安裝步驟5:預設已選取第2個選項,點擊 Install。


Anaconda 安裝步驟6:安裝中,需要等一段時間。


Anaconda 安裝步驟7:安裝完畢


Anaconda 安裝步驟8:不理它,點擊 Next。


Anaconda 安裝步驟9:如果勾選這兩個選項會開啟線上的說明書,點擊 Finish 完成安裝。


安裝 Anaconda 時會同時安裝很多套件,由開始選單啟動 Anaconda Prompt,使用以下指令列出已安裝的套件
conda list
目前安裝的 Python 版本為 3.9.13。
由開始選單啟動 Anaconda Prompt


安裝 Anaconda 時也會安裝一套名為 Spyder 的 IDE,目前安裝的 Spyder 版本為 5.2.2。按照慣例,先來個 Hello World!
由開始選單啟動 Spyder

於 Spyder 中執行 Hello World!


如果想要使用 Python 自帶的 IDLE,要先開啟 Anaconda Prompt,再執行指令 idle,這樣才不會在引入函式庫時遇到問題。
由 Anaconda Prompt 啟動 IDLE

於 IDLE 中執行 Hello World!


安裝 VPython



接下來要安裝 VPython 套件,以下的安裝指令是參考 Anaconda 的官方說明書。於開始選單搜尋 Anaconda Prompt,並選擇以系統管理員身分執行。如果使用以下指令安裝 VPython 會出現錯誤訊息。
conda install vpython

於 Anaconda Prompt 中安裝 VPython 失敗


必須改用以下的指令安裝,目前安裝的 VPython 版本為 7.6.4。
conda install -c conda-forge vpython

於 Anaconda Prompt 中安裝 VPython

於 Anaconda Prompt 中安裝 VPython 成功


接下來在 Spyder 或是 IDLE 中貼上以下的程式碼,測試是否已經正確安裝 VPython,如果能夠跑出動畫就成功了。
from vpython import *

"""
 1. 參數設定, 設定變數及初始值
"""
size = 0.1   # 木塊邊長
L = 1        # 地板長度
v = 0.03     # 木塊速度
t = 0        # 時間
dt = 0.01    # 時間間隔

"""
 2. 畫面設定
"""
scene = canvas(title="1D Motion", width=800, height=600, x=0, y=0, center=vec(0, 0.1, 0), background=vec(0, 0.6, 0.6))
floor = box(pos=vec(0, 0, 0), size=vec(L, 0.1*size, 0.5*L), color=color.blue)
cube = box(pos=vec(-0.5*L + 0.5*size, 0.55*size, 0), size=vec(size, size, size), color=color.red, v=vec(v, 0, 0))

"""
 3. 物體運動部分, 木塊到達地板邊緣時停止執行
"""
while cube.pos.x <= 0.5*L- 0.5*size:
    rate(1000)
    cube.pos.x += v*dt
    t += dt

print("t = ", t)

雖然程式碼的左側有許多的驚嘆號,顯示 Spyder 找不到名為 vpython 的套件,或是找不到名為 canvas、vec、box、color、rate 等物件,但是按 F5 仍然可以跑出動畫。
於 Spyder 中執行 VPython 動畫

於 IDLE 中執行 VPython 動畫

VPython 動畫執行畫面


Ubuntu 22.04



安裝 Anaconda



測試環境為 Ubuntu 22.04.1 LTS (Jammy Jellyfish),使用的軟體為 Anaconda + Python 3.9 + Linux 64位元版本。安裝步驟主要是參考 Anaconda 官方說明書。依照開啟指令列介面,安裝需要使用的套件
sudo apt install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6
但是 Ubuntu 22.04 中已經安裝了大部分的套件,實際上只會再安裝 libegl1-mesa 及 libgl1-mesa-glx 兩個套件。

由以下的連結下載 Linux 版安裝檔,我下載的版本是 Anaconda3-2022.10-Linux-x86_64.sh,檔案大小約 738 MB,需要等一段時間。在指令列介面中先切換到存放安裝檔的資料夾中,使用以下指令檢驗檔案的完整性
shasum -a 256 Anaconda3-2022.10-Linux-x86_64.sh
依照官方說明書,回傳值應該是
e7ecbccbc197ebd7e1f211c59df2e37bc6959d081f2235d387e08c9026666acd
如果回傳值不同要重新下載檔案。

接下來使用此指令安裝 Anaconda
bash Anaconda3-2022.10-Linux-x86_64.sh
安裝過程基本上都採用預設值即可。安裝完成後,關閉再開啟指令列介面,輸入 spyder 或是 idle3 開啟指定的 IDE,一樣先執行一下 Hello World!。
於 Ubuntu 22.04 的 Spyder 中執行 Hello World!

於 Ubuntu 22.04 的 IDLE 中執行 Hello World!


安裝 VPython



開啟指令列介面,輸入以下指令安裝 VPython
conda install -c conda-forge vpython
但是在等了很久之後會出現以下的錯誤訊息
Solving environment: Failed with initial frozen solve. Retrying with flexible solve.

Solving enviroment: Failed with repodata from current_repodata.jason, will retry with next repodata source.
後來我在 Stack Overflow 網站上找到類似的文章,執行以下指令就能夠成功地安裝 VPython。
conda update --all --yes
conda config --add channels conda-forge
conda install -c conda-forge vpython

於指令列介面中開啟 Spyder 或是 IDLE,貼入測試用的 VPython 程式碼,再按 span style = "font-weight:bold">F5 執行,可以成功地跑出動畫。
於 Ubuntu 22.04 的 Spyder 中執行 VPython 動畫

於 Ubuntu 22.04 的 IDLE 中執行 VPython 動畫


結語



雖然 Anaconda 似乎很方便,但是我還是比較偏好只安裝需要使用的套件就好,建議初學者還是依照我的另一篇文章〈安裝及測試 VPython〉的作法會比較順利。


HackMD 版本連結:https://hackmd.io/@yizhewang/SJS1e8W9i

沒有留言:

張貼留言