# 使用 Anaconda 安裝 VPython > 作者:王一哲 > 日期:2023年1月4日 ## Anaconda 這是一套開放原始碼的 Python 與 R 語言發行版,官方網站為 https://www.anaconda.com/ 。它包含比較便於操作的套件管理工具,可以支援 Windows、MacOS、Linux 三種作業系統。理論上也可以安裝 VPython,以下是我的測試過程。 <br /> ## Windows 10 ### 安裝 Anaconda 測試環境為 Windows 10 企業版,使用的軟體為 [Anaconda + Python 3.9 + Windows 64位元版本](https://repo.anaconda.com/archive/Anaconda3-2022.10-Windows-x86_64.exe)。於下載好的 Anaconda 安裝檔上按滑鼠右鍵,選擇**以系統管理員身分執行**,安裝過程基本上就是一直按 Enter 即可。 <br /> <img height="60%" width="60%" src="https://imgur.com/esADLf3.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">Anaconda 安裝步驟1:點擊 Next 即可</div><br /><br /> <img height="60%" width="60%" src="https://imgur.com/IyL4KsA.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">Anaconda 安裝步驟2:點擊 I Agree</div><br /><br /> <img height="60%" width="60%" src="https://imgur.com/xQXgVNd.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">Anaconda 安裝步驟3:可以選擇只安裝給這個使用者 Just Me 或是所有使用者 All Users。</div><br /><br /> <img height="60%" width="60%" src="https://imgur.com/Yss77oZ.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">Anaconda 安裝步驟4:選擇安裝路徑,採用預設值即可。</div><br /><br /> <img height="60%" width="60%" src="https://imgur.com/E2FKNiI.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">Anaconda 安裝步驟5:預設已選取第2個選項,點擊 Install。</div><br /><br /> <img height="60%" width="60%" src="https://imgur.com/bzyLzqZ.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">Anaconda 安裝步驟6:安裝中,需要等一段時間。</div><br /><br /> <img height="60%" width="60%" src="https://imgur.com/LOaAvSH.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">Anaconda 安裝步驟7:安裝完畢</div><br /><br /> <img height="60%" width="60%" src="https://imgur.com/leLEUtn.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">Anaconda 安裝步驟8:不理它,點擊 Next。</div><br /><br /> <img height="60%" width="60%" src="https://imgur.com/xHS6UkR.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">Anaconda 安裝步驟9:如果勾選這兩個選項會開啟線上的說明書,點擊 Finish 完成安裝。</div><br /><br /> 安裝 Anaconda 時會同時安裝很多套件,由開始選單啟動 Anaconda Prompt,使用以下指令列出已安裝的套件 ```shell conda list ``` 目前安裝的 Python 版本為 3.9.13。 <br /> <img height="60%" width="60%" src="https://imgur.com/KYiVqU7.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">由開始選單啟動 Anaconda Prompt</div><br /><br /> 安裝 Anaconda 時也會安裝一套名為 [Spyder](https://www.spyder-ide.org/) 的 IDE,目前安裝的 Spyder 版本為 5.2.2。按照慣例,先來個 Hello World! <br /> <img height="60%" width="60%" src="https://imgur.com/n4VdgXT.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">由開始選單啟動 Spyder</div><br /> <img height="100%" width="100%" src="https://imgur.com/ptKXoyn.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">於 Spyder 中執行 Hello World!</div><br /><br /> 如果想要使用 Python 自帶的 IDLE,要先開啟 Anaconda Prompt,再執行指令 idle,這樣才不會在引入函式庫時遇到問題。 <br /> <img height="80%" width="80%" src="https://imgur.com/xptkpdT.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">由 Anaconda Prompt 啟動 IDLE</div><br /> <img height="60%" width="60%" src="https://imgur.com/IGSu9AD.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">於 IDLE 中執行 Hello World!</div><br /><br /> ### 安裝 VPython 接下來要安裝 VPython 套件,以下的安裝指令是參考 [Anaconda 的官方說明書](https://anaconda.org/conda-forge/vpython)。於開始選單搜尋 Anaconda Prompt,並選擇**以系統管理員身分執行**。如果使用以下指令安裝 VPython 會出現錯誤訊息。 ```shell conda install vpython ``` <br /> <img height="80%" width="80%" src="https://imgur.com/sPiyp13.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">於 Anaconda Prompt 中安裝 VPython 失敗</div><br /><br /> 必須改用以下的指令安裝,目前安裝的 VPython 版本為 7.6.4。 ```shell conda install -c conda-forge vpython ``` <br /> <img height="80%" width="80%" src="https://imgur.com/1p9eHL5.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">於 Anaconda Prompt 中安裝 VPython</div><br /> <img height="80%" width="80%" src="https://imgur.com/v4NTgZO.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">於 Anaconda Prompt 中安裝 VPython 成功</div><br /><br /> 接下來在 Spyder 或是 IDLE 中貼上以下的程式碼,測試是否已經正確安裝 VPython,如果能夠跑出動畫就成功了。 <br /> ```python= 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) ``` <br /> 雖然程式碼的左側有許多的驚嘆號,顯示 Spyder 找不到名為 vpython 的套件,或是找不到名為 canvas、vec、box、color、rate 等物件,但是按 **F5** 仍然可以跑出動畫。 <img height="100%" width="100%" src="https://imgur.com/viKKe4z.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">於 Spyder 中執行 VPython 動畫</div><br /> <img height="80%" width="80%" src="https://imgur.com/3B4xGrt.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">於 IDLE 中執行 VPython 動畫</div><br /> <img height="80%" width="80%" src="https://imgur.com/DeWaHXL.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">VPython 動畫執行畫面</div><br /><br /> ## Ubuntu 22.04 ### 安裝 Anaconda 測試環境為 Ubuntu 22.04.1 LTS (Jammy Jellyfish),使用的軟體為 [Anaconda + Python 3.9 + Linux 64位元版本](https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh)。安裝步驟主要是參考 [Anaconda 官方說明書](https://docs.anaconda.com/anaconda/install/linux/)。依照開啟指令列介面,安裝需要使用的套件 ```shell sudo apt install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6 ``` 但是 Ubuntu 22.04 中已經安裝了大部分的套件,實際上只會再安裝 libegl1-mesa 及 libgl1-mesa-glx 兩個套件。 <br /> 由以下的連結下載 [Linux 版安裝檔](https://www.anaconda.com/products/distribution#linux),我下載的版本是 [Anaconda3-2022.10-Linux-x86_64.sh](https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh),檔案大小約 738 MB,需要等一段時間。在指令列介面中先切換到存放安裝檔的資料夾中,使用以下指令檢驗檔案的完整性 ```shell shasum -a 256 Anaconda3-2022.10-Linux-x86_64.sh ``` 依照[官方說明書](https://docs.anaconda.com/anaconda/install/hashes/Anaconda3-2022.10-Linux-x86_64.sh-hash/),回傳值應該是 ```shell e7ecbccbc197ebd7e1f211c59df2e37bc6959d081f2235d387e08c9026666acd ``` 如果回傳值不同要重新下載檔案。 <br /> 接下來使用此指令安裝 Anaconda ```shell bash Anaconda3-2022.10-Linux-x86_64.sh ``` 安裝過程基本上都採用預設值即可。安裝完成後,關閉再開啟指令列介面,輸入 spyder 或是 idle3 開啟指定的 IDE,一樣先執行一下 Hello World!。 <br /> <img height="100%" width="100%" src="https://imgur.com/orJzoqJ.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">於 Ubuntu 22.04 的 Spyder 中執行 Hello World!</div><br /> <img height="80%" width="80%" src="https://imgur.com/Tfigx3t.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">於 Ubuntu 22.04 的 IDLE 中執行 Hello World!</div><br /><br /> ### 安裝 VPython 開啟指令列介面,輸入以下指令安裝 VPython ```shell conda install -c conda-forge vpython ``` 但是在等了很久之後會出現以下的錯誤訊息 ```shell 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](https://stackoverflow.com/questions/66066895/solving-environment-failed-with-initial-frozen-solve-jupyter-notebook-anacoda) 網站上找到類似的文章,執行以下指令就能夠成功地安裝 VPython。 ```shell conda update --all --yes conda config --add channels conda-forge conda install -c conda-forge vpython ``` <br /> 於指令列介面中開啟 Spyder 或是 IDLE,貼入測試用的 VPython 程式碼,再按 **F5** 執行,可以成功地跑出動畫。 <br /> <img height="100%" width="100%" src="https://imgur.com/LFoOqyd.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">於 Ubuntu 22.04 的 Spyder 中執行 VPython 動畫</div><br /> <img height="100%" width="100%" src="https://imgur.com/GVOVmgf.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">於 Ubuntu 22.04 的 IDLE 中執行 VPython 動畫</div><br /><br /> ## 結語 雖然 Anaconda 似乎很方便,但是我還是比較偏好只安裝需要使用的套件就好,建議初學者還是依照我的另一篇文章〈[安裝及測試 VPython](https://hackmd.io/@yizhewang/BJ2jKMbf7)〉的作法會比較順利。 <br /><br /> --- ###### tags:`Python`、`VPython`