2023年1月3日 星期二

於 Ubuntu 22.04 安裝 Spyder 5.4.1

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


前言


由於我之前將作業系統由 Ubuntu 20.04 升級成 22.04,升級之後發現之前常用的 Python IDE Spyder 無法啟動,上網搜尋之後我發現有很多人遇到同樣的問題,似乎是因為 Ubuntu 套件伺服器上提供的 Spyder 版本太舊造成的。後來我又找到了 Spyder 官方的安裝說明,以下是我的測試過程。


安裝步驟



先用以下的指令移除之前透過 apt 指令安裝的 Spyder
sudo apt purge spyder

但是我只想要安裝 Spyder,不想要安裝 Anaconda,這樣會額外安裝了很多我不會用到的東西。由於需要設定虛擬環境 (virtual environment),而我使用的 Python 版本為 3.10.6,需要先用以下的指令安裝套件 python3.10-venv。
sudo apt install python3.10-venv

使用以下的指令建立給 Spyder 使用的環境
python3 -m venv spyder-env

使用以下的指令進入給 Spyder 使用的環境
source spyder-env/bin/activate

使用以下的指令安裝 Spyder 以及有其它需要使用的套件,例如我常使用的 VPython。
pip3 install spyder vpython

目前安裝的 Spyder 版本是 5.4.1,安裝過程會需要一段時間。安裝完成後就可以用指令開啟 Spyder
spyder

於命令列介面執啟動 Spyder

Spyder 起始畫面


如果採用這個方式安裝,於 Ubuntu 概覧中無法搜尋到 Spyder,一定要從命令列介面執行以下指令才能開啟 Spyder。
source spyder-env/bin/activate
spyder



測試 VPython



啟動 Spyder 之後按 Ctrl + N 新增檔案,貼上以下的程式碼
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

VPython 動畫截圖


結語



目前的作法雖然可以成功地在 Ubuntu 22.04 中使用 Spyder,但總覺得這個方法不太方便,希望 Ubuntu 官方的套件伺服器可以更新一下 Spyder 版本,使用 apt 安裝套件還是比較簡單。


HackMD 版本連結:https://hackmd.io/@yizhewang/H1v-7h-cj

沒有留言:

張貼留言