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

Python模塊搜索路徑代碼詳解

 更新時間:2018年01月29日 14:03:09   作者:一去丶二三里  
這篇文章主要介紹了Python模塊搜索路徑代碼詳解,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下

簡述

由于某些原因,在使用 import 時,Python 找不到相應(yīng)的模塊。這時,解釋器就會發(fā)牢騷 - ImportError。

那么,Python 如何知道在哪里搜索模塊的路徑呢?

模塊搜索路徑

當導(dǎo)入名為 hello 的模塊時,解釋器首先搜索具有該名稱的內(nèi)置模塊。如果沒有找到,將在變量 sys.path 給出的目錄列表中搜索名為 hello.py 的文件。

sys.path 從這些位置初始化:

包含輸入腳本的目錄(或當前目錄,當沒有指定文件時)
PYTHONPATH(目錄名列表,與 shell 變量 PATH 語法相同)
與安裝相關(guā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']

注意: '' 表示當前目錄(當前腳本所在的路徑)

例如,在 /home/wang/workspace 中創(chuàng)建一個名為 hello.py 的模塊,內(nèi)容如下:

print('Hello')

然后,試圖加載該模塊:

>>> import os
>>> 
>>> os.getcwd() # 獲取當前目錄
'/home/wang'
>>> 
>>> import hello.py
...
ImportError: No module named 'hello'

很遺憾,由于 sys.path 中沒有包含 /home/wang/workspace 這個路徑,所以找不到 hello 模塊,從而引發(fā) ImportError。

添加模塊搜索路徑

為了解決上述問題,需要添加模塊搜索路徑,可以使用以下幾種方式:

1.動態(tài)增加路徑

臨時生效,對于不經(jīng)常使用的模塊,這通常是最好的方式,因為不必用所有次要模塊的路徑來污染 PYTHONPATH。

2.修改 PYTHONPATH 變量

永久生效,對于在許多程序中都使用的模塊,可以采用這種方式。這將改變所有 Python 應(yīng)用的搜索路徑,因為啟動 Python 時,它會讀取這個變量,甚至不同版本的 Python 都會受影響。

3.增加 .pth 文件

永久生效,這是最簡單的、也是推薦的方式。Python 在遍歷已知的庫文件目錄過程中,如果遇到 .pth 文件,便會將其中的路徑加入到 sys.path 中,于是 .pth 中所指定的路徑就可以被 Python 運行環(huán)境找到了。

動態(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

可以看到,路徑被成功添加進去了,再次執(zhí)行導(dǎo)入可以正常使用。

修改 PYTHONPATH 變量

打開并編輯 bashrc:

$ vim ~/.bashrc

將以下內(nèi)容附加到文件末尾:

export PYTHONPATH=$PYTHONPATH:/home/wang/workspace

不要忘記重新加載 shell,方法是退出并重新啟動,或者在命令行重新加載配置文件:

$ source ~/.bashrc # 或者 . ~/.bashrc 

增加 .pth 文件

在 /usr/local/lib/python3.5/site-packages 下添加一個擴展名為 .pth 的配置文件(例如:extras.pth),內(nèi)容為要添加的路徑:

/home/wang/workspace

總結(jié)

以上就是本文關(guān)于Python模塊搜索路徑代碼詳解的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關(guān)文章

  • Python入門_淺談邏輯判斷與運算符

    Python入門_淺談邏輯判斷與運算符

    下面小編就為大家?guī)硪黄狿ython入門_淺談邏輯判斷與運算符。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • python sklearn數(shù)據(jù)預(yù)處理之正則化詳解

    python sklearn數(shù)據(jù)預(yù)處理之正則化詳解

    數(shù)據(jù)的預(yù)處理是數(shù)據(jù)分析,或者機器學(xué)習(xí)訓(xùn)練前的重要步驟,這篇文章主要為大家詳細介紹了sklearn數(shù)據(jù)預(yù)處理中正則化的相關(guān)知識,需要的可以參考下
    2023-10-10
  • Python編碼解碼之encode()函數(shù)詳解

    Python編碼解碼之encode()函數(shù)詳解

    這篇文章主要給大家介紹了關(guān)于Python編碼解碼之encode()函數(shù)的相關(guān)資料,Python的encode函數(shù)用于將字符串按照指定的編碼方式進行編碼,返回一個bytes類型的對象,需要的朋友可以參考下
    2023-07-07
  • opencv-python圖像處理安裝與基本操作方法

    opencv-python圖像處理安裝與基本操作方法

    OpenCV是一個C++庫,目前流行的計算機視覺編程庫,用于實時處理計算機視覺方面的問題,它涵蓋了很多計算機視覺領(lǐng)域的模塊。在Python中常使用OpenCV庫實現(xiàn)圖像處理。本文介紹opencv-python圖像處理安裝與基本操作,感興趣的朋友一起看看吧
    2022-01-01
  • 解讀MaxPooling1D和GlobalMaxPooling1D的區(qū)別

    解讀MaxPooling1D和GlobalMaxPooling1D的區(qū)別

    這篇文章主要介紹了MaxPooling1D和GlobalMaxPooling1D的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python如何讀取PDF文檔(或TXT)

    Python如何讀取PDF文檔(或TXT)

    這篇文章主要介紹了Python如何讀取PDF文檔(或TXT),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python實現(xiàn)對百度云的文件上傳(實例講解)

    Python實現(xiàn)對百度云的文件上傳(實例講解)

    下面小編就為大家?guī)硪黄狿ython實現(xiàn)對百度云的文件上傳(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 使用OpenCV實現(xiàn)仿射變換—平移功能

    使用OpenCV實現(xiàn)仿射變換—平移功能

    這篇文章主要介紹了使用OpenCV實現(xiàn)仿射變換—平移功能,需要的朋友可以參考下
    2019-08-08
  • Python實現(xiàn)打印詳細報錯日志,獲取報錯信息位置行數(shù)

    Python實現(xiàn)打印詳細報錯日志,獲取報錯信息位置行數(shù)

    這篇文章主要介紹了Python實現(xiàn)打印詳細報錯日志,獲取報錯信息位置行數(shù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • PyCharm使用matplotlib報MatplotlibDeprecationWarning問題解決辦法

    PyCharm使用matplotlib報MatplotlibDeprecationWarning問題解決辦法

    這篇文章主要給大家介紹了關(guān)于PyCharm使用matplotlib報MatplotlibDeprecationWarning問題解決的相關(guān)資料,主要是 matplotlib版本過高導(dǎo)致的,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-06-06

最新評論

SHOW| 调兵山市| 海晏县| 岳西县| 交城县| 集贤县| 娱乐| 宣化县| 额尔古纳市| 泸西县| 福建省| 景谷| 肃北| 勐海县| 洪雅县| 科技| 巴林右旗| 南江县| 前郭尔| 芮城县| 永修县| 华蓥市| 社旗县| 文昌市| 威远县| 甘肃省| 渭南市| 永靖县| 都安| 广平县| 大竹县| 铁岭市| 沁源县| 宜兴市| 无锡市| 华蓥市| 高邮市| 三河市| 河北省| 惠水县| 株洲市|