Posted on

了解python載入模組的位置

載入模組方式

一般來說,我們在專案裡面會使用import來載入現有模組

import cv2

了解會從哪些路徑載入-在command line內

1.取得global的site-packages路徑
python –m site

2.取得該使用者的library路徑(per-user)
python -m site –user-site

了解會從哪些路徑載入-在Python程式碼內

那麼,這個cv2的預設位置在哪邊呢?會從哪裡載入呢?
想要了解這個問題,可以在py檔案裏面使用下列程式碼來印出會再入的library位置

import sys
from os.path import dirname
print(sys.path)


可使用site.getsitepackages()或site.getusersitepackages()來了解現在會載入的函式庫位置

import sys, site
site.getsitepackages()
site.getsitepackages()

自行增加載入模組路徑

若想要自行增加模組的位置,則使用

sys.path.append(dirname(__file__))

上面程式碼代表會增加尋找位於dirname(__file__)的檔案

設定要載入的函式庫的路徑位置

有以下三種方法

  • 添加環境變量PYTHONPATH,python會添加此路徑下的模塊,在.bash_profile文件中添加如下類似行: export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages
  • site-packages路徑下添加一個路徑配置文件,文件的擴展名為.pth,內容為要添加的路徑即可
  • sys.path.append()函數添加搜索路徑,參數值即為要添加的路徑。

關於第二個點的介紹,請見此篇文章:https://www.itread01.com/qiqiq.html

可以先用上面的語法來尋找可能的函式庫搜尋路徑位置設定檔案的地方,找看看在上面的site-packages的資料夾裡面是否有任何的.pth檔案
一般來說,這個檔案會位於site-packages裡面,如:C:\Python39\Lib\site-packages

使用.pth設定在入路徑

或者可以直接在python的根目錄下增加python39._pth這個檔案
然後直接在檔案裏面增加要載入的路徑即可
裡面內容直接填上路徑即可,以下為一個簡單的python39._pth內容範例

放在與python.exe同一目錄