1. 程式人生 > >為Python新增預設模組搜尋路徑

為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檔案,推薦~

  1. 首先找到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為字尾,寫上你要加入的模組檔案所在的目錄名稱,然後儲存退出就好了

  1. 重啟終端,輸入以下命令

    python3
    improt sys
    sys.path
    

    可以在輸出中看到你剛新增進去的路徑,此時就表示成功了,你再呼叫這個模組就不會再出錯了

總結

當然你用pip3安裝第三方庫時,也可以指定庫安裝的路徑,比如命令格式如下:

pip install --install-option="--install-purelib=/usr/local/lib/python2.7/site-packages" Django==1.11.7