【Linux】Ubuntu 20 以後的版本在執行 Python 依賴時遇到的 No such file or directory 解法。
隨著 Ubuntu 持續的版本演進,有不少以前 Ubuntu 系統預裝好的程式、依賴 (Dependency) 被更換,按常理說,與時俱進沒什麼不好;然而在資訊程式的生態中,更新往往會造成「相容性問題」;也因此,業界廣爲流傳著一句話:「能動的東西就不要改」。
當然這是一句玩笑話,畢竟如果「不著手改進」,那我們豈不是沒事做了?這其實是在警醒我們,任何更動都必須做好「版本控制」,並且也要「有所規劃」;不要想到什麼就改什麼,因爲那會造成後期維護困難。

而這次在 Ubuntu 開發程式時,遇到的就是「相容性問題」,由於 Python3 在 Ubuntu 系統中得到了完整識別名「Python3」,但過去的程式經常是呼叫「Python」,因此系統中明明安裝了 Python3 ,執行程式時呼叫 Python 就找不到 Python3。 念起來感覺非常繞口,如果要舉個例子,就像你要看「鬼滅之刃 郭遊篇」,而去影音平台搜尋,但你用「鬼滅之刃」作為關鍵字,第一筆找到的會是「鬼滅之刃」第一季的影片節目,找不到你要看的「鬼滅之刃 郭遊篇」。

方法1
將系統中的 Python3 建立軟連結至 Python 上:
這個方法想法很單純,既然找不到就自行幫忙補上一個捷徑,讓程式呼叫 Python 可以在指定位置找到它。
所需指令如下:
先確定 Python3 於系統的位置
whereis python3
一般會得到 /usr/bin/python3 的輸出結果 接著建立軟連結(類似於 Win 的建立捷徑) sudo ln -s /usr/bin/python3 /usr/bin/python
方法2
安裝社群寫好的修復套件 python-is-python3 或者 python-is-python2: 因爲這個問題廣大的社群開發者都遇到,因此就有人針對這議題開發了修補套件,直接透過 ubuntu 的來源資料庫就可以獲取並安裝。
所需指令如下:
sudo apt update
sudo apt install python-is-python3
# 如果程式所需要的是 Python2 ,也有人做相關修補套件。
sudo apt install python-is-python2
其實解法是相當簡易的操作,不過就當成筆記寫在這裏吧!
沒有留言:
張貼留言