公告版位
從小害怕寫作文, 文筆不佳到現在, 還請各位讀者大大:
1. 發現有錯誤, 請留言告知. (或者你 '覺得' 不對也行)
2. 用字措辭不當, 請留言告知.
3. 有看沒有懂? 幫到忙也好, 幫倒忙也罷, 總之留個言吧.

目前分類:python (5)

瀏覽方式: 標題列表 簡短摘要

前言


原本在 python 裡安裝 Jupyter 環境並不是什麼大事, 不過因為最近微軟的底層 library (ucrtbase.dll) 當中的 fmod() 函數, 修正修出了一個 bug (只要 Win10 更新至 2004 及 20H2 就會出現, 參考: 微軟 developercommunity 網站), 使得眾多需要用它的軟體 (例如: 線性代數函數庫) 都出了問題. 並且要到下一次更新時才會解決 (20H2 的下一個版本) 因此整個使用 windows 平台的 AI 及大數據相關的底層函數庫不得不做出一些更動. 像是 numpy 就決定: 原本最新的版本 1.19.4 不更動, 等候 MS 把問題解決, 問題就自解了 (因為其他平台並沒有這個問題); 但是相對的, 為了讓 Windows 平台上必需使用 numpy 的其他套件可以有暫時的解決方案, 而更動了 1.19.3 版進行暫時性的修補.

2021-01-13 更新:
numpy 已經釋出 1.19.5, 上述問題已經由新版的底層 OpenBLAS 函數庫解決. Windows 用戶安裝 numpy 已經不需再另行指定版本. (但是還是要注意是否避開了 1.19.4) MS 的修正應該是會隨著 21H1 一起發佈.

文章標籤

MagicJackTing 發表在 痞客邦 留言(0) 人氣()

前言


前幾天 (寫完其實已經過了一個多月了), 在 Windows10 上, 遇到了一個非常機車的問題: Python for Window 的執行檔 python.exe 被 Anaconda 版的 python.exe 綁架了.

狀況是這樣的, 最近去上了大數據/AI的課, 上課時教 python 的老師用的是 Anaconda 所提供的 Jupyter Notebook 環境, 所以同學的電腦上安裝的都是了 Anaconda 個人版 (Individual Edition) for Windows. 而我個人則是標新立異愛作怪, 用 Python 內建的虛擬環境, 再加裝上 jupyterlab 相關的 package, 還有其他上課所需的 package 來應付上課時的需求. (其實是因為上課之前試用過 Anaconda, 覺得它真的太肥了, 而且 Anaconda 整體反應有點 lag. 所以決定改用 python 內建的虛擬環境的功能內建置 jupyterlab 環境...)

其實, 說起來 Anaconda 對於一個 python 初學者同時又對電腦運作不是了解的人來說, 算是一個不錯的選擇. 它以容易上手的圖形環境展現給一般使用者, 同時又預設好 jupyter notebook 網頁, 讓初學者可以只專注在學習 python 上. 可惜的是, 它的圖形系統有點厚重. 和它在 CLI 環境的輕便好用完全是二回事. 好了, 廢話不多說, 來看看到底發生什麼事?

文章標籤

MagicJackTing 發表在 痞客邦 留言(1) 人氣()

Windows 平台的安裝建議


在 Windows 安裝多個版本的 python 你需要注意以下幾點:

  • 使用一致的 '系統安裝' 或者 '用戶安裝'. 也就是第一個版本的 python 你是用 '用戶安裝', 以後就都用 '用戶安裝'. 不要一個是 '系統安裝' 下一個卻是用 '用戶安裝'. (環境有問題時比較容易排查)
  • 在可行的狀況下, 盡量是用 '系統安裝'. 除非是要不到系統管理者權限無法進行 '系統安裝', 才改用 '用戶安裝'.
  • 除了最常用的版本之外, 其他的版本不要加進環境變數 PATH 裡 (即安裝時, 第一頁的 Add python 3.x to PATH 不要勾選). 如果已經裝錯了, 可以直接使用 '編輯系統環境變數' 來刪掉它 (一般是有二個 C:\Program Files\Python3x\Scripts\C:\Program Files\Python3x\).
  • 使用時請配合使用 python 虛擬環境 (強列建議), 或者參考以下說明.

文章標籤

MagicJackTing 發表在 痞客邦 留言(3) 人氣()

Python 自 3.3 版開始提供虛擬環境 (PEP405, virtual environments in core, Sept. 29, 2012).

個人以為主要是為了清理出一個乾淨開發環境, 以便將來布署時不會多出一些有的沒的 package:

  • 別的專案用的, 而且這個專案用不到的.
  • 正在測試學習的.
  • 或者猜想著這個 package 到底是有沒有用到 (不曾記得安裝過, 但實際上是因為和另一個 package 相依而自動安裝進來了).
  • 避免 package 和 python 本身 (以及其他 package) 不相容的問題. 同時也可以避免這些多出來 package 引發不相容的問題. (小弟不才只寫過二個 python 小專案, 引用的東西不多, 所以一直沒有遇到)

新版本的 python 可能或多或少會和一些 package 不相容(註一), 尤其像是當年 python 3.0 那樣的大改版. 但是各個 package 之間的版本相依性也是經常會引發問題. 使用虛擬環境可以讓我們在構建專案時把環境先弄好, 並鎖定為專案的專用環境, 不必擔心因為別的專案的需求而弄壞了這個專案的環境.

文章標籤

MagicJackTing 發表在 痞客邦 留言(0) 人氣()

前言


前一陣子用python寫了一支 Windows 的 Console 程式: 因為需要為程式的輸出訊息加一點顏色而小小的 '卡' 了一陣子; 上個月底終於把它解決了, 特別記錄一下免得日後給忘了.

為 Console 輸出上色


這個 Console 上色的問題, 因為不是主要的功能, 所以一開始只解決了一半, 就一直放著: 輸出 ANSI Terminal 的控制碼可以在 git for windows 的bash視窗上更改輸出訊息的顏色; 但是一換到 Windows CMD Console 執行時這些 ANSI Terminal 的控制碼就完全沒有效果, 只是一五一十的印出來.

文章標籤

MagicJackTing 發表在 痞客邦 留言(0) 人氣()

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼