這篇文章將為大家詳細(xì)講解有關(guān)Python模塊搜索路徑的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
模塊搜索路徑
當(dāng)導(dǎo)入名為 hello 的模塊時(shí),解釋器首先搜索具有該名稱的內(nèi)置模塊。如果沒有找到,將在變量 sys.path 給出的目錄列表中搜索名為 hello.py 的文件。
sys.path 從這些位置初始化:
包含輸入腳本的目錄(或當(dāng)前目錄,當(dāng)沒有指定文件時(shí))
PYTHONPATH(目錄名列表,與 shell 變量 PATH 語法相同)
與安裝相關(guān)的默認(rèn)值
>>> import sys >>> sys.path ['', '/usr/local/lib/python35.zip', '/usr/local/lib/python3.5', '/usr/local/lib/python3.5/plat-linux', '/usr/local/lib/python3.5/lib-dynload', '/usr/local/lib/python3.5/site-packages']
注意: '' 表示當(dāng)前目錄(當(dāng)前腳本所在的路徑)
例如,在 /home/wang/workspace 中創(chuàng)建一個(gè)名為 hello.py 的模塊,內(nèi)容如下:
print('Hello')
然后,試圖加載該模塊:
>>> import os >>> >>> os.getcwd() # 獲取當(dāng)前目錄 '/home/wang' >>> >>> import hello.py ... ImportError: No module named 'hello'
很遺憾,由于 sys.path 中沒有包含 /home/wang/workspace 這個(gè)路徑,所以找不到 hello 模塊,從而引發(fā) ImportError。
添加模塊搜索路徑
為了解決上述問題,需要添加模塊搜索路徑,可以使用以下幾種方式:
1.動(dòng)態(tài)增加路徑
臨時(shí)生效,對(duì)于不經(jīng)常使用的模塊,這通常是最好的方式,因?yàn)椴槐赜盟写我K的路徑來污染 PYTHONPATH。
2.修改 PYTHONPATH 變量
永久生效,對(duì)于在許多程序中都使用的模塊,可以采用這種方式。這將改變所有 Python 應(yīng)用的搜索路徑,因?yàn)閱?dòng) Python 時(shí),它會(huì)讀取這個(gè)變量,甚至不同版本的 Python 都會(huì)受影響。
3.增加 .pth 文件
永久生效,這是最簡單的、也是推薦的方式。Python 在遍歷已知的庫文件目錄過程中,如果遇到 .pth 文件,便會(huì)將其中的路徑加入到 sys.path 中,于是 .pth 中所指定的路徑就可以被 Python 運(yùn)行環(huán)境找到了。
動(dòng)態(tài)增加路徑
通過 sys 模塊的 append() 方法在 Python 環(huán)境中增加搜索路徑:
>>> import sys >>> sys.path.append('/home/wang/workspace')
現(xiàn)在,查看搜索路徑:
>>> sys.path ['', '/usr/local/lib/python35.zip', '/usr/local/lib/python3.5', '/usr/local/lib/python3.5/plat-linux', '/usr/local/lib/python3.5/lib-dynload', '/usr/local/lib/python3.5/site-packages', '/home/wang/workspace'] >>> >>> import hello Hello
可以看到,路徑被成功添加進(jìn)去了,再次執(zhí)行導(dǎo)入可以正常使用。
修改 PYTHONPATH 變量
打開并編輯 bashrc:
$ vim ~/.bashrc
將以下內(nèi)容附加到文件末尾:
export PYTHONPATH=$PYTHONPATH:/home/wang/workspace
不要忘記重新加載 shell,方法是退出并重新啟動(dòng),或者在命令行重新加載配置文件:
$ source ~/.bashrc # 或者 . ~/.bashrc
增加 .pth 文件
在 /usr/local/lib/python3.5/site-packages 下添加一個(gè)擴(kuò)展名為 .pth 的配置文件(例如:extras.pth),內(nèi)容為要添加的路徑:
/home/wang/workspace
關(guān)于“Python模塊搜索路徑的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
分享標(biāo)題:Python模塊搜索路徑的示例分析-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://jinyejixie.com/article32/dhddpc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、企業(yè)網(wǎng)站制作、域名注冊(cè)、做網(wǎng)站、網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容