如何在多人工作站升級自己的 Python

閱讀時間約 4 分鐘

how to upgrade your python on workstation

現在工作用的程式語言是 python,開發環境是 Linux Debian 10 的一個遠端、多人共同開發的工作站(Workstation),執行環境是 python 的 venv 虛擬環境,PC 跑的 IDE 用的是微軟 vscode,某次我在 IDE 的右下角處注意到一個很小很小的 x 符號,點開後 IDE 提示有 pylint 跟 black formatter 異常,當時不影響我的開發工作就把這事就忘了。在某天的部門分享會上,同事說他 IDE 升級後出現了一樣的錯誤,手上程式碼沒有 pylint black-format 檢查上不了 gitlab,我又點開了那個很小很小的 x 符號,裡面 logs 提示的解決方式是升級 python 3.8 或以上。

困難相似不相同

在多人一起開發的工作站升級 python 這種主要程式比較複雜,用管理員權限(sudo)升級最快但會影響其他人的開發環境,釐清需求後我想要不影響整體最低限度升級自己的 venv 的虛擬環境,實現多個版本的 venv 虛擬環境做到有多個不同 venv 虛擬環境版本可以切換。

這裡需要提一下 python venv 虛擬環境的運作方式,venv 是一個 python 模組,用這個模組啟動的 python 會在系統上建立一個「乾淨」的 python 執行環境。在系統提示下執行 python3 -m venv .venv 指令,系統會 clone 一份對應版本的 python 執行環境到指定的 .venv 資料夾內,接著執行 source .venv/bin/activate 指令可以啟動 venv 虛擬環境,用 python --version 可以檢查虛擬環境版本是 3.7.3 與系統版本一致。當我們要開發的專案程式需要搭配不同 python 套件組合很適合開多個 venv 虛擬環境來切換進行調適,用 venv 虛擬環境開發最大好處是不會汙染系統的 python 環境,不小心玩壞掉直接砍掉 .venv 目錄即可心裡沒負擔。

(附上 venv 相關指令)

$ python3 -m venv .venv   # 使用模組 venv 建立虛擬環境,虛擬環境的工作目錄是 .venv
$ source .venv/bin/activate # 啟動 venv 虛擬環境,成功啟動後會自動在系統提示字元會附加 (.venv)
(.venv) $ python --version # 檢查 python 版本
(.venv) $ pip install -r requirement.txt # 安裝這個 venv 環境所需的 python 套件(requirement.txt)
(.venv) $ deactivate # 退出 venv 虛擬環境

自己動手樂趣多

所以要在 Local 端不影響系統環境的狀態下升級 python 3.8 以上的版本,更適合的的處理方式是從 Python 網站拉原始碼下來自己編譯,再用編譯出來的新版本 python 來建立 venv 虛擬環境。目標是在自己的帳號底下建立新版本的 python,從下載到編譯按照以下方法,換成其他版本做法一樣。

$ cd ~/   # 先切到自己的 Home 目錄
$ wget https://www.python.org/ftp/python/3.8.17/Python-3.8.17.tar.xz # 用 wget 下載 Python 原始碼
$ tar zxvf Python-3.8.17 # 解壓縮
$ cd Python-3.8.17 # 切換目錄
$ ./configure —enable-optimizations # 建立編譯用組態檔
$ make -j 4 # 編譯程式
$ python --version # 檢查版本,看到 python 3.8.17 成功
$ python -m venv .venv3817 # 用新的 python 建立 venv 環境

完成 python 升級後的 IDE 不再報錯了。

raw-image


小結論

從結果回顧升級過程並不困難,比較困難的是過程中釐清自己需求的跟找到適合自己的方法、然後親自去嘗試。如果你的狀況剛好跟我很接近,是在多人開發的 Linux 工作站、專案需求需要多個版本的 python venv 來調適且需要升級新版本來讓 IDE 的 pylint, black formatter 運作正常的話,不妨直接套用或在這個基礎上打造屬於你的升級方法。

12會員
60Content count
WarrenLo's 軟體設計武功祕笈
留言0
查看全部
發表第一個留言支持創作者!
Warren Lo的沙龍 的其他內容
在網路上查找可以發現有很多類別圖的 6 種關係的說明與示例,通常不太容易難取得共鳴。主要有兩個原因: 1. 對於這些關係線的定義混淆,導致無法判斷滿足條件與使用時機 2. 缺少生活相關的具體案例,很難理解這些關係所對應的抽象概念
UART 轉換完成的 Serial 訊號已經可以用來傳輸通訊了,那為什麼還要把 UART 轉出來的訊號再轉換成成其他的 Serial 介面,像是 RS232/RS485 再進行傳輸呢?原因是 UART 的 Serial 訊號傳輸的距離實在太短了
Serial 通訊數據必須先在 UART 元件把 Parallel 轉成 Serial,EIA Driver 會把 Serial 轉成特定的 Serial 訊號。UART 數據轉換要考慮兩個關鍵點,如何讓資料從直行變橫列(躺平)的方法,還要考慮如何控制 Serial 訊號輸出
聊到 Serial 通訊就一定會提到 COM Port,它是微軟定義的一個經典 Serial 通訊實作。COM Port 在筆電還不普及的年代可以很輕鬆在 PC(桌機)的主機板上找到有標示 COM1 或者 COM2 的通訊接口,這些就是最常見的 COM Port 通常搭載的都是 R232 的通訊規格
問題來了,如果在一組 Master-Slave 在通訊過程中出現其他的裝置「插嘴」的狀況會怎麼樣?因為迴路只有一條,所以只要在同一個通訊迴路上同時有兩台裝置發出訊號,結果就是兩個資料封包互相對撞雙雙損毀…
物聯網裝置跟電腦一樣處理資料過程仰賴記憶體,不同類型的資料必須放在不同的記憶體空間。RD 會按照功能需求去規劃這些數據儲存空間,就像設計師規劃客廳、廚房、衛浴與臥室等居住空間一樣。各個空間的規劃原則上不會允許重疊,如此才能確保不同資料間不會發生互相覆蓋導致記憶體錯誤發生。
在網路上查找可以發現有很多類別圖的 6 種關係的說明與示例,通常不太容易難取得共鳴。主要有兩個原因: 1. 對於這些關係線的定義混淆,導致無法判斷滿足條件與使用時機 2. 缺少生活相關的具體案例,很難理解這些關係所對應的抽象概念
UART 轉換完成的 Serial 訊號已經可以用來傳輸通訊了,那為什麼還要把 UART 轉出來的訊號再轉換成成其他的 Serial 介面,像是 RS232/RS485 再進行傳輸呢?原因是 UART 的 Serial 訊號傳輸的距離實在太短了
Serial 通訊數據必須先在 UART 元件把 Parallel 轉成 Serial,EIA Driver 會把 Serial 轉成特定的 Serial 訊號。UART 數據轉換要考慮兩個關鍵點,如何讓資料從直行變橫列(躺平)的方法,還要考慮如何控制 Serial 訊號輸出
聊到 Serial 通訊就一定會提到 COM Port,它是微軟定義的一個經典 Serial 通訊實作。COM Port 在筆電還不普及的年代可以很輕鬆在 PC(桌機)的主機板上找到有標示 COM1 或者 COM2 的通訊接口,這些就是最常見的 COM Port 通常搭載的都是 R232 的通訊規格
問題來了,如果在一組 Master-Slave 在通訊過程中出現其他的裝置「插嘴」的狀況會怎麼樣?因為迴路只有一條,所以只要在同一個通訊迴路上同時有兩台裝置發出訊號,結果就是兩個資料封包互相對撞雙雙損毀…
物聯網裝置跟電腦一樣處理資料過程仰賴記憶體,不同類型的資料必須放在不同的記憶體空間。RD 會按照功能需求去規劃這些數據儲存空間,就像設計師規劃客廳、廚房、衛浴與臥室等居住空間一樣。各個空間的規劃原則上不會允許重疊,如此才能確保不同資料間不會發生互相覆蓋導致記憶體錯誤發生。
你可能也想看
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
在當今全球化的時代,企業逐漸跨足不同文化的社區,擴大業務成為趨勢。這種情況下,記帳士的角色變得更加重要,他們不僅需要應對多樣的商業環境,還要理解和協助企業處理來自不同文化的挑戰。本文將深入探討記帳士如何協助企業在多文化社區中擴大業務,包括公司登記、公司設立、工商登記等關鍵領域,同時探討會計事務所在這
Thumbnail
這一集我們有一個特別的嘉賓,她是台灣廣播界的瑰寶,擁有豐富的經驗和多項金鐘獎的肯定。讓我們熱烈歡迎資深廣播人,大家都叫她倩華姐! . Podcasting現在已經風靡全球,有著數以萬計的節目,但要如何在這個擁擠的領域中脫穎而出呢?這是今天我們要和倩華姐一一探討的話題。 . 首先,成為一名優秀的Pod
Thumbnail
上一篇文章小倉鼠和大家聊到有關高敏人特別容易累的主題,你是不是也心有戚戚焉?其實,一向外向和喜歡社交的我,從來也沒想到,自己也算高敏人,但是,在幾次身體出現重大狀況後,我才驚覺原來自己體能大不如前,我已不是年輕,易回復,可以成天熬夜的身體了,雖然很幸運的是,我的外觀看不太出來,但是,身體這種東西真的
作者劉軒是我一位很敬仰的老師,從出社會開始聽他的Podcast,以及購買軒言文創的課程,因為從劉軒老師的話語中和文筆中得到滿滿的能量,有種正念的幫助,高中時期的我經常被同學講”太正面” “太認真” “充滿心靈雞湯的勵志人設”,但是我很高興這就是我的個性之一,雖然出了社會後經常遇到很多力不從心的事情,
Thumbnail
會閱讀這本書是因為看到朋友的推薦,不論是「業務是一種機率論」還是「追求自己喜愛的事物才是一切的解答」,這兩個是我閱讀完這本書之後印象最深刻的地方。
Thumbnail
微軟總裁表示,人才荒時代恐成常態。除了加薪,公司如何在人才荒時代挽留人才?
Thumbnail
Potatomedia主要透過平台的回饋,加強與創作者的互動,不論是讀者還是創作者,也能從中得到收益,當你加入了Potatomedia之後,你會發覺多了一種動力,不論是寫作也好、點讚也好、留言也好,也能得到收入,這自然就會不自覺地去到處留言、點讚。
Thumbnail
     YouTube营销中,很多人面临的最大问题就是没有观看量,如何才能让你的视频获得更多的观看量呢? 以下是一些建议:   1.将它们提交到你的社交网络。您显然可以发布到Facebook,twitter等,但您也可以将您的YouTube帐户连接到您的Facebook,Twitte
Thumbnail
你有想過,我們身處在什麼樣的時代嗎?又或許,這個時代帶給我們的「感受」,就足以回答這個問題。我們常常說:「這是一個資訊爆炸、知識焦慮的時代,因此我們面對更多更廣的選擇,反而更不快樂」。然而在我讀了⟪躍遷⟫這本書後,我有了截然不同的想法⋯⋯
Thumbnail
在職場上,不要覺得自己沒有足夠的權力做事。 厲害的人,無論在什麼位置,都應當發揮自己的影響力。
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
在當今全球化的時代,企業逐漸跨足不同文化的社區,擴大業務成為趨勢。這種情況下,記帳士的角色變得更加重要,他們不僅需要應對多樣的商業環境,還要理解和協助企業處理來自不同文化的挑戰。本文將深入探討記帳士如何協助企業在多文化社區中擴大業務,包括公司登記、公司設立、工商登記等關鍵領域,同時探討會計事務所在這
Thumbnail
這一集我們有一個特別的嘉賓,她是台灣廣播界的瑰寶,擁有豐富的經驗和多項金鐘獎的肯定。讓我們熱烈歡迎資深廣播人,大家都叫她倩華姐! . Podcasting現在已經風靡全球,有著數以萬計的節目,但要如何在這個擁擠的領域中脫穎而出呢?這是今天我們要和倩華姐一一探討的話題。 . 首先,成為一名優秀的Pod
Thumbnail
上一篇文章小倉鼠和大家聊到有關高敏人特別容易累的主題,你是不是也心有戚戚焉?其實,一向外向和喜歡社交的我,從來也沒想到,自己也算高敏人,但是,在幾次身體出現重大狀況後,我才驚覺原來自己體能大不如前,我已不是年輕,易回復,可以成天熬夜的身體了,雖然很幸運的是,我的外觀看不太出來,但是,身體這種東西真的
作者劉軒是我一位很敬仰的老師,從出社會開始聽他的Podcast,以及購買軒言文創的課程,因為從劉軒老師的話語中和文筆中得到滿滿的能量,有種正念的幫助,高中時期的我經常被同學講”太正面” “太認真” “充滿心靈雞湯的勵志人設”,但是我很高興這就是我的個性之一,雖然出了社會後經常遇到很多力不從心的事情,
Thumbnail
會閱讀這本書是因為看到朋友的推薦,不論是「業務是一種機率論」還是「追求自己喜愛的事物才是一切的解答」,這兩個是我閱讀完這本書之後印象最深刻的地方。
Thumbnail
微軟總裁表示,人才荒時代恐成常態。除了加薪,公司如何在人才荒時代挽留人才?
Thumbnail
Potatomedia主要透過平台的回饋,加強與創作者的互動,不論是讀者還是創作者,也能從中得到收益,當你加入了Potatomedia之後,你會發覺多了一種動力,不論是寫作也好、點讚也好、留言也好,也能得到收入,這自然就會不自覺地去到處留言、點讚。
Thumbnail
     YouTube营销中,很多人面临的最大问题就是没有观看量,如何才能让你的视频获得更多的观看量呢? 以下是一些建议:   1.将它们提交到你的社交网络。您显然可以发布到Facebook,twitter等,但您也可以将您的YouTube帐户连接到您的Facebook,Twitte
Thumbnail
你有想過,我們身處在什麼樣的時代嗎?又或許,這個時代帶給我們的「感受」,就足以回答這個問題。我們常常說:「這是一個資訊爆炸、知識焦慮的時代,因此我們面對更多更廣的選擇,反而更不快樂」。然而在我讀了⟪躍遷⟫這本書後,我有了截然不同的想法⋯⋯
Thumbnail
在職場上,不要覺得自己沒有足夠的權力做事。 厲害的人,無論在什麼位置,都應當發揮自己的影響力。