pip install module from local file
今天我想更新我們原先的nester module,讓我在shell裡可以使用它。我先修改setup.py裡的version。然後我是用 python.exe setup.py sdist
建立需要的發佈檔案。接著要進行安裝,但是不曉得是不是更新pip的緣故,我已經無法使用 python.exe setup.py install
。執行這行指令的話會出現錯誤:

叫我改用pip來安裝。於是我用上一篇blog寫得,使用 py -m pip install nester
,結果發現

我又再次到PyPI的說明網頁[1]去,這次仔細地閱讀,發現使用 py -m pip install
是直接從PyPI下載來安裝,但是我需要的是能夠直接用我電腦裡的檔案安裝。依照[1]的說明,其實pip
是可以直接指定安裝檔案的。用法很簡單,只要直接指定該檔案的路徑就可以了。以我這裡的例子就是 py -m pip install nester-1.3.0.tar.gz
。這裡是因為我已經移到該安裝檔案的資料夾裡,所以我很簡單的直接在install
後面接上檔案名稱。

可以看出來已經安裝成功。原本以為這樣就可以,結果發現shell還是執行舊的版本。依照以往的經驗,這代表系統中存在著舊版本並沒有被刪除,而且還是被優先使用。於是就要知道這個檔案藏在哪裡。
關於這個問題,可以在shell鍵入 import sys; sys.path
就可以列出所有python參照的系統路徑。於是我就到每個路徑裡去找出舊版的nester.py並刪除,就能夠成功地參照到新版檔案了。