最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python修改包導(dǎo)入時(shí)搜索路徑的方法

 更新時(shí)間:2022年05月18日 12:23:51   作者:一秋閑談  
搜索路徑是由一系列目錄名組成的,Python解釋器就依次從這些目錄中去尋找所引入的模塊,下面這篇文章主要給大家介紹了關(guān)于python修改包導(dǎo)入時(shí)搜索路徑的相關(guān)資料,需要的朋友可以參考下

前言

在Python中,import操作應(yīng)該算是最為頻繁和常見的,但同時(shí)也應(yīng)該是最核心需要搞清楚其工作原理的地方,比如,python是如何找到我希望導(dǎo)入的包的位置的,如果搞清楚了這個(gè)問題,那我們后續(xù)有自定義的包,就可以放到電腦的任意路徑下,然后修改下import的搜索路徑信息,就可以找到我們自定義的包了,本文主要就是解決上面的疑問。

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

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

python的import操作,其本質(zhì)類似于我們?nèi)粘T陔娔X上搜索指定文件名的文件,只不過,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)建工具,其核心也是通過修改python默認(rèn)安裝路徑、版本、包搜索路徑等信息達(dá)到目的的。

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

  1. 首先搜索運(yùn)行命令當(dāng)前文件夾,或者系統(tǒng)當(dāng)前工作文件夾(可通過命令修改cwd)
  2. 再搜索環(huán)境變量PYTHONPATH內(nèi)的文件路徑
  3. 最后搜索python安裝路徑內(nèi)的sitepackages文件夾(一般通過pip安裝的包,均會(huì)默認(rèn)放到這個(gè)文件夾下,當(dāng)然,也可簡單的將自己的包放到這個(gè)文件夾下,這樣也無需改變搜索路徑)

1.2 修改搜索路徑

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

1.2.1 通過修改sys.path變量

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

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

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

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

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

  1. 打開~/.bashrc文件,如果沒有,則通過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 通過添加**.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有效)

總結(jié)

到此這篇關(guān)于python修改包導(dǎo)入時(shí)搜索路徑的文章就介紹到這了,更多相關(guān)python包導(dǎo)入搜索路徑內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python操作SQLite數(shù)據(jù)庫的方法詳解【導(dǎo)入,創(chuàng)建,游標(biāo),增刪改查等】

    Python操作SQLite數(shù)據(jù)庫的方法詳解【導(dǎo)入,創(chuàng)建,游標(biāo),增刪改查等】

    這篇文章主要介紹了Python操作SQLite數(shù)據(jù)庫的方法,簡單說明了sqlite數(shù)據(jù)庫的相關(guān)概念,并結(jié)合實(shí)例形式較為詳細(xì)的分析了Python針對(duì)sqlite數(shù)據(jù)庫的導(dǎo)入,創(chuàng)建,游標(biāo),增刪改查等操作技巧,需要的朋友可以參考下
    2017-07-07
  • 一文教你徹底解決Python包下載慢問題

    一文教你徹底解決Python包下載慢問題

    在利用python中,我們經(jīng)常需要使用到各種各樣的庫。其中,pip是我們常用的安裝工具,一般情況下我們基本上是直接pip方法安裝第三方包,下面這篇文章主要給大家介紹了關(guān)于如何徹底解決Python包下載慢問題的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • 詳解python tkinter教程-事件綁定

    詳解python tkinter教程-事件綁定

    這篇文章主要介紹了python tkinter事件綁定,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • python腳本請(qǐng)求數(shù)量達(dá)到上限,http請(qǐng)求重試問題

    python腳本請(qǐng)求數(shù)量達(dá)到上限,http請(qǐng)求重試問題

    這篇文章主要介紹了python腳本請(qǐng)求數(shù)量達(dá)到上限,http請(qǐng)求重試問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • python編寫猜數(shù)字小游戲

    python編寫猜數(shù)字小游戲

    這篇文章主要為大家詳細(xì)介紹了python編寫猜數(shù)字小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • Python使用Selenium WebDriver的入門介紹及安裝教程(最新推薦)

    Python使用Selenium WebDriver的入門介紹及安裝教程(最新推薦)

    這篇文章主要介紹了Python使用Selenium WebDriver的入門介紹及安裝教程,本文使用環(huán)境為python3.11+win10 64位+firefox瀏覽器,所以本文使用的瀏覽器驅(qū)動(dòng)是Firefox的geckodriver ,如果你使用的是其他瀏覽器,那么選擇自己對(duì)應(yīng)的瀏覽器驅(qū)動(dòng)程序即可,需要的朋友可以參考下
    2023-04-04
  • Python個(gè)人博客程序開發(fā)實(shí)例用戶驗(yàn)證功能

    Python個(gè)人博客程序開發(fā)實(shí)例用戶驗(yàn)證功能

    這篇文章主要介紹了怎樣用Python來實(shí)現(xiàn)一個(gè)完整的個(gè)人博客系統(tǒng),我們通過實(shí)操上手的方式可以高效的鞏固所學(xué)的基礎(chǔ)知識(shí),感興趣的朋友一起來看看吧
    2022-12-12
  • Python中單引號(hào)、雙引號(hào)和三引號(hào)具體的用法及注意點(diǎn)

    Python中單引號(hào)、雙引號(hào)和三引號(hào)具體的用法及注意點(diǎn)

    這篇文章主要給大家介紹了關(guān)于Python中單引號(hào)、雙引號(hào)和三引號(hào)具體的用法及注意點(diǎn)的相關(guān)資料,Python中單引號(hào)、雙引號(hào)、三引號(hào)中使用常常困惑,想弄明白這三者相同點(diǎn)和不同點(diǎn),需要的朋友可以參考下
    2023-07-07
  • windows下python之mysqldb模塊安裝方法

    windows下python之mysqldb模塊安裝方法

    這篇文章主要介紹了windows下python之mysqldb模塊安裝方法,需要的朋友可以參考下
    2017-09-09
  • 在CentOS6上安裝Python2.7的解決方法

    在CentOS6上安裝Python2.7的解決方法

    在CentOS6上yum安裝工具是基于Python2.6.6的,所以在CentOS6上默認(rèn)安裝的是Python2.6.6,因?yàn)橐诜?wù)器系統(tǒng)為CentOS6上部署生產(chǎn)環(huán)境,但是代碼都是基于Python2.7寫的,所有遇到了問題,下面通過本文給大家介紹下在CentOS6上安裝Python2.7的解決方法,一起看看吧
    2018-01-01

最新評(píng)論

阳江市| 公安县| 禄劝| 扎鲁特旗| 莫力| 武威市| 蒙山县| 留坝县| 巢湖市| 平顺县| 同德县| 景泰县| 磐安县| 荥经县| 兴城市| 柳河县| 犍为县| 木兰县| 石阡县| 苍南县| 阿拉善盟| 昂仁县| 栖霞市| 怀来县| 亳州市| 太保市| 富阳市| 西盟| 伊川县| 盐源县| 弥渡县| 南部县| 楚雄市| 寻甸| 城市| 巴彦县| 曲阳县| 阜康市| 临泽县| 治多县| 方正县|