以前要嘗試 Python 的各種函式庫時,會用 virtualenv 或 docker 來產生專用的獨立環境。
但 Python 版本更新也算快,若想用特定 Python 版本執行,還需再搭配 pyenv
來確認運行環境,這些套疊讓環境設定變得更複雜。
現在已有 miniconda 工具,只要用 brew 就可以安裝
brew install --cask miniconda
使用體驗相當好,節省了許多學習與設定的時間,也可以安心的去嘗試各種函式庫。
以前要嘗試 Python 的各種函式庫時,會用 virtualenv 或 docker 來產生專用的獨立環境。
但 Python 版本更新也算快,若想用特定 Python 版本執行,還需再搭配 pyenv
來確認運行環境,這些套疊讓環境設定變得更複雜。
現在已有 miniconda 工具,只要用 brew 就可以安裝
brew install --cask miniconda
使用體驗相當好,節省了許多學習與設定的時間,也可以安心的去嘗試各種函式庫。
上週在聚會中分享學習 deeplearning.ai 推出的 ChatGPT 相關短課程的心得。(簡報在此),課程中為了介紹 ChatGPT API 的應用,使用了一些 Python 程式碼。由於預期聚會參與者對 Python 不熟悉,所以嘗試用 Google Colab 簡單的介紹 Python 3,希望能在幾分鐘內對 Python 程式的基本語法有個概念。
Python 3 超入門 互動式筆記在此。
在智慧型手機與平板領域,蘋果和所有的智慧型手機與平板供應商競爭,大部分的供應商只能依靠 Android 系統作為反擊的基礎。
在 IT 系統領域,亞馬遜正在跟所有的 IT 系統供應商競爭,而大部分的 IT 系統供應商能依靠的是 OpenStack。
OpenStack 專案的初衷是提供類似亞馬遜的 ECS (Elastic Computing Service) 和 S3 (Simple Storage Service) 開放源始碼實現,讓一般企業也能建置私有網路服務。
若企業本身或 IT 系統供應商規模夠大的話,使用 OpenStack 自建資料中心,就能享受到彈性雲端運算所帶來的好處。
改變世界的免費雲端軟體:OpenStack 幕後創造祕辛(上)(下)
重點:
1. OpenStack 開源以前叫 NASA Nebula 2. 後來由 Rackspace 和 NASA 合作開發 3. 以 Apache 授權發佈
關鍵人 Chris C. Kemp (NASA), Rick Clark, Jim Curry (Rackspace), Vivek Kundra(美國第一個資訊長),是他們讓這個專案成真並以開源發佈。
Swift 是 OpenStack 裡類似 S3 (Simple Storage Service) 的開放源始碼實現
功用
使用 Virtualenv 可以讓你預先建立一個虛擬環境,在虛擬環境中開發 Python 程式,可以保持 Python path 乾淨,並減少因為機器上需要同時支援不同版本函式庫,造成各函式庫彼此之間相依性的困擾。
而且使用虛擬環境後,到時要將環境轉移到別台機器上,也減少很多設定上的問題。
安裝
$ easy_install virtualenv 設定環境
$ virtualenv --no-site-packages [dev_place] 即建立一個名為 [dev_place] 的資料夾(中括號裡的名稱自行填寫取代)。
切換到虛擬環境
進入 [dev_place] 目錄,輸入命令:
$ source bin/activate 若看到路徑提示前多了個([dev_place])符號,即表示已經進入了虛擬環境。
這時我們可以使用預設提供的 easy_install 工具安裝要使用的函式庫、或是安裝各種 Python 程式。
安裝的函式庫會被放到 [dev_place]/lib/Python[版本]/site-packages/ 目錄中,跟一般的 Python 函式庫配置方式相似。
離開虛擬環境
要離開虛擬環境,只需輸入命令:
$ deactivate 即可回到預設的命令行狀態。
其他操作
如果你的電腦上有裝多個 Python 版本,在下 virtualenv 命令時加上「--python=python[版本] 」當作參數,例如建立 2.6 版的虛擬環境命令為
$ virtualenv --no-site-packages [dev_place] --python=python2.6 也可以建立出不同版本的 Python 虛擬環境,讓你可以更容易地在多個 Python 版本間做測試。
其他使用方法可以輸入「virtualenv --help」參考印出的說明。
Python3
目前 virtualenv 官方還不支援 Python 3.x, 但是有開發中版本可用,可使用 Mercural 下載來安裝
hg clone https://bitbucket.org/brandon/virtualenv3
cd virtualenv3
python3 setup.py install
白象禮物的交換派對,所謂的白象禮物,指的是家中不論新舊,只要是完好可用的東西,用禮物袋裝一裝或包裝精美後就可以帶去派對與人交換。當然一人限量一份禮物。
交換規則: 每個人抽一張號碼牌,依序選擇一份禮物。每樣禮物必須當場拆開,每樣禮物只能被轉手換人兩次。也就是說,輪到我時,我可以任選我前面的人已拆封的禮物 (假設這個禮物是第一次轉手換人); 但我後面的人也可以選擇我的禮物,而成為這份禮的最後擁有者,因為這次的轉手換人是限制的第二次。倘使你的禮物被選走了,你可以馬上再選一份未開封的禮物,或其他人已拆封的禮物. 聖誕節到了同事們要交換禮物。剛開始是想抽籤有點麻煩,於是用 Python 寫了個簡單的 Script 來滿足抽籤的需求:
import random order = ["alice", "betty", "cindy", "deby"] random.shuffle(order) order ['deby', 'cindy', 'alice', 'betty'] random.shuffle(order) order ['alice', 'cindy', 'deby', 'betty']這麼一來每次執行 random.shuffle (order) 都可以亂數得到一個順序囉。
不過一旦當活動牽扯到人的話,還是靠真的抽籤比較有趣阿!