python如何修改套件導入時搜尋路徑

WBOY
發布: 2023-05-29 09:46:05
轉載
1252 人瀏覽過

    模組導入時路徑搜尋機制

    1.1 套件導入搜尋機制

    python的import操作,其本質類似於我們日常在電腦上搜尋指定文件名的文件,只不過,python一般不會像我們那樣,在本地磁碟全盤進行搜索,而是有其自己的控制機制,可以控制搜索的範圍和順序,這樣可以保證效率,同時也可以做到一定程度的隔離,例如python創建虛擬的運行環境,就是基於這個原理,不同虛擬運行環境,python安裝路徑、import搜尋路徑都是單獨隔離的,而常用的虛擬環境維護和創建工具,其核心也是透過修改python預設安裝路徑、版本、套件搜尋路徑等資訊達到目的的。

    一般情況下,import時,套件搜尋順序和範圍如下:

    1. #首先搜尋執行指令目前資料夾,或是系統目前工作資料夾(可透過指令修改cwd)

    2. 再搜尋環境變數PYTHONPATH內的檔案路徑

    3. 最後搜尋python安裝路徑內的sitepackages資料夾(一般透過pip安裝的包,均會預設放到這個資料夾下,當然,也可簡單的將自己的包放到這個資料夾下,這樣也無需改變搜尋路徑)

    1.2 修改搜尋路徑

    核心思路,即修改1.1中提到的三個搜尋節點的值,即可改變套件導入時的搜尋範圍

    1.2.1 透過修改sys.path變數

    sys.path變量,管理的是Python套件搜尋路徑內所有資料夾路徑(即目前資料夾、PYTHONPATH環境變數內的路徑、python預設安裝路徑),該變數是個列表,可以透過sys.path.append或sys.path.insert等方法,將自己希望匯入時被搜尋的路徑加入到該清單變數內即可。

    不過此方法只會在執行時生效,一旦退出,便失效。

    1.2.2 透過修改PYTHONPATH環境變數

    PYTHONPATH環境變量,是管理python套件導入時的搜尋路徑的變量,故可以透過向該環境變數內新增路徑的方式來修改搜尋路徑,且該方法因為是修改了環境變量,故也是永久的,且影響也是全域的。

    針對Mac電腦,修改該環境變數的方法如下:

    1. 開啟~/.bashrc文件,如果沒有,則透過touch指令建立

    2. 在文件內寫上export PYTHONPATH=your own dir :$PYTHONPATH,例如你希望將~/test路徑加入該環境變量,則為 export PYTHONPATH=~/test :$PYTHONPATH

    3. 在命令列執行source ~/.bashrc(主要是讓系統重新載入運行該文件,以使此修改生效)

    1.2. 3 透過加入**.pth檔

    以上兩個辦法,或是臨時修改,或是全域修改影響面太大,第三種方式可謂兼具前兩種方法的特性。

    可以在指定Python安裝目錄下的site-packages目錄資料夾內,新增一個**.pth文件,在該文件內逐行新增自己希望被搜尋的路徑即可。

    附:暫時加入python搜尋套件路徑的方法

    方法1:(先進入python)

    import sys
    sys.path.append(‘路径')
    登入後複製

    (這種方式只對目前python有效)

    方法2:

    export PYTHONPATH=路径
    登入後複製

    (這種方式對所有的python有效)

    以上是python如何修改套件導入時搜尋路徑的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    相關標籤:
    來源:yisu.com
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板