為Python新增預設模組搜尋路徑
寫這篇部落格主要原因:由於本人電腦安裝比較亂,python版本安裝了好幾個。當我用
pip3 install moviepy
命令安裝moviepy模組時,它自動的把該庫安裝到了python3.7的環境下,而我的python3預設的是python3.6.所以在終端輸入“python3”後,import moviepy
,會報錯ModuleNotFoundError: No module named moviepy
的錯誤。如下圖
此時有三種方法進行新增,修正此錯誤
第一種:函式新增
這種方式只是一次性的,也就是說以後每次在終端中呼叫該包時,都得用這兩個命令先把該包的路徑新增進去。
import sys sys.path.append("yourpath")
**注:**如果你不知道你剛才用pip安裝的包放在什麼路徑,可以用命令pip3 show 包名
就可以得到該包的詳細資訊,如下圖
第二種:修改環境變數
非管理員使用者可以修改系統環境變數PYTHONPATH
,修改~/.bashrc檔案(若安裝了zsh,應該修改zshrc檔案),新增內容
export PYTHONPATH=/home/simon/Library:$PYTHONPATH
第三種:增加.pth檔案,推薦~
-
首先找到site-pathages檔案路徑,在終端中執行下列命令:
python3 improt site site.getsitepackages()
輸出:[’/usr/local/Cellar/python3/3.6.4/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages’, ‘/Library/Python/3.6/site-packages’]
在site-packaegs新增一個路徑檔案,如mypkpath.pth,必須以.pth為字尾,寫上你要加入的模組檔案所在的目錄名稱,然後儲存退出就好了
-
重啟終端,輸入以下命令
python3 improt sys sys.path
可以在輸出中看到你剛新增進去的路徑,此時就表示成功了,你再呼叫這個模組就不會再出錯了
總結
當然你用pip3安裝第三方庫時,也可以指定庫安裝的路徑,比如命令格式如下:
pip install --install-option="--install-purelib=/usr/local/lib/python2.7/site-packages" Django==1.11.7