溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python如何修改包導(dǎo)入時(shí)搜索路徑

發(fā)布時(shí)間:2022-05-18 15:43:49 來(lái)源:億速云 閱讀:202 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“python如何修改包導(dǎo)入時(shí)搜索路徑”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“python如何修改包導(dǎo)入時(shí)搜索路徑”文章能幫助大家解決問(wèn)題。

    模塊導(dǎo)入時(shí)路徑搜索機(jī)制

    1.1 包導(dǎo)入搜索機(jī)制

    python的import操作,其本質(zhì)類似于我們?nèi)粘T陔娔X上搜索指定文件名的文件,只不過(guò),python一般不會(huì)像我們那樣,在本地磁盤全盤進(jìn)行搜索,而是有其自己的控制機(jī)制,可以控制搜索的范圍和順序,這樣可以保證效率,同時(shí)也可以做到一定程度的隔離,比如python創(chuàng)建虛擬的運(yùn)行環(huán)境,就是基于這個(gè)原理,不同虛擬運(yùn)行環(huán)境,python安裝路徑、import搜索路徑都是單獨(dú)隔離的,而常用的虛擬環(huán)境維護(hù)和創(chuàng)建工具,其核心也是通過(guò)修改python默認(rèn)安裝路徑、版本、包搜索路徑等信息達(dá)到目的的。

    一般情況下,import時(shí),包搜索順序和范圍如下:

    1. 首先搜索運(yùn)行命令當(dāng)前文件夾,或者系統(tǒng)當(dāng)前工作文件夾(可通過(guò)命令修改cwd)

    2. 再搜索環(huán)境變量PYTHONPATH內(nèi)的文件路徑

    3. 最后搜索python安裝路徑內(nèi)的sitepackages文件夾(一般通過(guò)pip安裝的包,均會(huì)默認(rèn)放到這個(gè)文件夾下,當(dāng)然,也可簡(jiǎn)單的將自己的包放到這個(gè)文件夾下,這樣也無(wú)需改變搜索路徑)

    1.2 修改搜索路徑

    核心思路,即修改1.1中提到的三個(gè)搜索節(jié)點(diǎn)的值,即可改變 包導(dǎo)入時(shí)的搜索范圍

    1.2.1 通過(guò)修改sys.path變量

    sys.path變量,管理的是Python包搜索路徑內(nèi)所有文件夾路徑(即當(dāng)前文件夾、PYTHONPATH環(huán)境變量?jī)?nèi)的路徑、python默認(rèn)安裝路徑),該變量是個(gè)列表,可以通過(guò)sys.path.append或者sys.path.insert等方法,將自己希望導(dǎo)入時(shí)被搜索的路徑添加到該列表變量?jī)?nèi)即可。

    不過(guò)該方法只會(huì)在運(yùn)行時(shí)生效,一旦退出,便失效。

    1.2.2 通過(guò)修改PYTHONPATH環(huán)境變量

    PYTHONPATH環(huán)境變量,是管理python包導(dǎo)入時(shí)的搜索路徑的變量,故可以通過(guò)向該環(huán)境變量?jī)?nèi)添加路徑的方式來(lái)修改搜索路徑,且該方法因?yàn)槭切薷牧谁h(huán)境變量,故也是永久的,且影響也是全局的。

    針對(duì)Mac電腦,修改該環(huán)境變量的方法如下:

    1. 打開~/.bashrc文件,如果沒(méi)有,則通過(guò)touch命令創(chuàng)建

    2. 在文件內(nèi)寫上 export PYTHONPATH=your own dir :$PYTHONPATH,比如你希望將~/test路徑添加至該環(huán)境變量,則為  export PYTHONPATH=~/test :$PYTHONPATH

    3. 在命令行執(zhí)行 source ~/.bashrc(主要是讓系統(tǒng)重新加載運(yùn)行該文件,以使此次修改生效)

    1.2.3 通過(guò)添加**.pth文件

    以上兩個(gè)辦法,或者是臨時(shí)修改,或者就是全局修改影響面太大,第三種方式可謂兼具前兩種方法的特點(diǎn)。

    可以在指定Python安裝目錄下的site-packages目錄文件夾內(nèi),添加一個(gè)**.pth文件,在該文件內(nèi)逐行添加自己希望被搜索的路徑即可。

    附:臨時(shí)添加python搜索包路徑的方法

    方法1:(先進(jìn)入python)

    import sys
    sys.path.append(‘路徑')

    (這種方式僅對(duì)當(dāng)前python有效)

    方法2:

    export PYTHONPATH=路徑

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

    關(guān)于“python如何修改包導(dǎo)入時(shí)搜索路徑”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

    向AI問(wèn)一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI