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

Python模塊搜索概念介紹及模塊安裝方法介紹

 更新時(shí)間:2015年06月03日 10:49:15   投稿:junjie  
這篇文章主要介紹了Python模塊搜索概念介紹及模塊安裝方法介紹,本文詳細(xì)講解了import模塊的運(yùn)作原理,搜索路徑的過程以及模塊安裝的多種方法,需要的朋友可以參考下

【import模塊】

和C中的#include不同,Python中的import語句并不是簡(jiǎn)單的把一個(gè)文件插入另外一個(gè)文件。
導(dǎo)入其實(shí)是運(yùn)行時(shí)的運(yùn)算,程序第一次導(dǎo)入指定文件時(shí),會(huì)執(zhí)行以下步驟,

1. 找到模塊文件
2. 編譯成位碼
3. 執(zhí)行模塊中的代碼來創(chuàng)建所定義的模塊

并生成.pyc字節(jié)碼文件,這三個(gè)步驟只在程序執(zhí)行時(shí),模塊第一次導(dǎo)入時(shí)會(huì)進(jìn)行。之后導(dǎo)入相同的模塊時(shí),會(huì)跳過這三個(gè)步驟,而只提取內(nèi)存中已加載的模塊對(duì)象,速度要快的多。
NOTE:

1. Python把已加載的模塊放在內(nèi)置的sys.modules字典中,在import操作開始時(shí)會(huì)確認(rèn)引用的模塊是否已加載。如果想看哪些模塊已加載,可以導(dǎo)入sys,打印sys.modules.keys()

復(fù)制代碼 代碼如下:

>>> sys.modules.keys() 
['heapq', 'functools', 'pyreadline.console.ansi',...,'pyreadline.modes'] 

2. 可以import的四種文件類型

1.源文件(.py)
2.字節(jié)碼文件(.pyc)
3.C擴(kuò)展文件(Windows: .dll或.pyd文件 | Linux: .so文件)
4.相同變量名的目錄(用于包導(dǎo)入)

【搜索路徑】

比如說:import math,不需要加路徑和后綴名,系統(tǒng)會(huì)自動(dòng)搜索路徑,按照搜索先后順序,列出模塊搜索路徑.

1. 程序的主目錄(程序當(dāng)前運(yùn)行的目錄)
2. PYTHONPATH目錄(在環(huán)境變量里面配置與加到Path中一樣)
3. 標(biāo)準(zhǔn)庫(kù)目錄(比如說: C:\Python27\Lib)
4. .pth文件所在內(nèi)容(一般放在Lib\site-packages目錄下,如下:easy-install.pth)

復(fù)制代碼 代碼如下:

import sys; sys.__plen = len(sys.path) 
./setuptools-0.6c11-py2.7.egg 
./py-1.4.26-py2.7.egg 
./sphinx-1.3b1-py2.7.egg 
./colorama-0.3.2-py2.7.egg 
./babel-1.3-py2.7.egg 
./snowballstemmer-1.2.0-py2.7.egg 
./docutils-0.12-py2.7.egg 
./pygments-2.0.1-py2.7.egg 
./jinja2-2.7.3-py2.7.egg 
./six-1.8.0-py2.7.egg 
./pytz-2014.9-py2.7.egg 
./markupsafe-0.23-py2.7.egg 
./pyzmq-14.4.1-py2.7-win-amd64.egg 
./tornado-4.0.2-py2.7-win-amd64.egg 
./backports.ssl_match_hostname-3.4.0.2-py2.7.egg 
./certifi-14.05.14-py2.7.egg 
./egg-0.2.0-py2.7.egg 
./chicken-0.1.0-py2.7.egg 
import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:]; p=getattr(sys,'__egginsert',0); sys.path[p:p]=new; sys.__egginsert = p+len(new) 

而所有這些路徑可以通過sys.path來看到

復(fù)制代碼 代碼如下:

>>> import sys 
>>> sys.path 
['', 'C:\\Python27\\lib\\site-packages\\setuptools-0.6c11-py2.7.egg', ...,'C:\\Python27\\lib\\site-packages\\wx-3.0-msw'] 

臨時(shí)的工作路徑加載,可以用
復(fù)制代碼 代碼如下:

>>> sys.path.append('d:\\test') 
>>> sys.path 
['', 'C:\\Python27\\lib\\site-packages\\setuptools-0.6c11-py2.7.egg', 'C:\\Python27\\lib\\, 'd:\\test'] 
>>> sys.path.remove('d:\\test') 

【模塊安裝】

但上面的方法只是臨時(shí)性的,一旦退出程序或當(dāng)前交互環(huán)境,就失效。要想永久生效就必須讓其加入到上述目錄中
Perl的強(qiáng)大在于CPAN,可喜的是,Python也開始有類似的技術(shù)及功能,比如說pip,可以用包括pip來安裝模塊。

1. 自寫模塊,直接拷貝到上述任意目錄
2. 第三方模塊,執(zhí)行python setup.py install安裝
3. 用easy_install安裝

下載ez_setup.py文件
執(zhí)行: python ez_setup.py
安裝所要安裝的模塊: easy_install py

4. 用pip安裝

先用easy_install pip命令來安裝pip
再用pip install Markdown來安裝具體模塊,假設(shè)模塊名為: Markdown

5. 用第三方模塊管理庫(kù)(比如說Canopy就可以管理科學(xué)計(jì)算模塊,可惜很多需要收費(fèi))

用此工具,就可以安裝ipython環(huán)境了

相關(guān)文章

  • Python各類圖像庫(kù)的圖片讀寫方式總結(jié)(推薦)

    Python各類圖像庫(kù)的圖片讀寫方式總結(jié)(推薦)

    這篇文章主要介紹了Python各類圖像庫(kù)的圖片讀寫方式總結(jié)(推薦),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-02-02
  • IronPython連接MySQL的方法步驟

    IronPython連接MySQL的方法步驟

    這篇文章主要介紹了IronPython連接MySQL的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 基于python檢查SSL證書到期情況代碼實(shí)例

    基于python檢查SSL證書到期情況代碼實(shí)例

    這篇文章主要介紹了基于python檢查SSL證書到期情況代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 使用Python進(jìn)行數(shù)據(jù)清洗與存儲(chǔ)的基本方法

    使用Python進(jìn)行數(shù)據(jù)清洗與存儲(chǔ)的基本方法

    在爬蟲數(shù)據(jù)獲取完成后,數(shù)據(jù)往往是“原始”的,不適合直接使用,清洗和存儲(chǔ)是將爬取到的原始數(shù)據(jù)轉(zhuǎn)化為有用信息的關(guān)鍵步驟,本文將系統(tǒng)地介紹 Python 中進(jìn)行數(shù)據(jù)清洗與存儲(chǔ)的基本方法,幫助新手理解如何處理爬蟲數(shù)據(jù),使其更加適合分析和使用,需要的朋友可以參考下
    2024-11-11
  • Python實(shí)現(xiàn)系統(tǒng)交互(subprocess)

    Python實(shí)現(xiàn)系統(tǒng)交互(subprocess)

    我們幾乎可以在任何操作系統(tǒng)上通過命令行指令與操作系統(tǒng)進(jìn)行交互,本文實(shí)現(xiàn)了Python系統(tǒng)交互,具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-07-07
  • 詳解Python中的__new__()方法的使用

    詳解Python中的__new__()方法的使用

    本文主要介紹了Python中的__new__()方法的使用的基本知識(shí),本文中給出了基于Python2.x的代碼實(shí)例,需要的朋友可以參考一下
    2015-04-04
  • Python利用Pydub實(shí)現(xiàn)自動(dòng)分割音頻

    Python利用Pydub實(shí)現(xiàn)自動(dòng)分割音頻

    pydub是一個(gè)輕量級(jí)的音頻處理庫(kù),安裝方便,使用簡(jiǎn)單。而且pydub提供了豐富的音頻處理功能,包括切割、合并、轉(zhuǎn)換等。本文將利用Pydub實(shí)現(xiàn)自動(dòng)分割音頻功能,感興趣的可以了解一下
    2023-05-05
  • Python連接SQL?server數(shù)據(jù)庫(kù)并進(jìn)行簡(jiǎn)單查詢的操作詳解

    Python連接SQL?server數(shù)據(jù)庫(kù)并進(jìn)行簡(jiǎn)單查詢的操作詳解

    SQL?Server是微軟推出的重量級(jí)的數(shù)據(jù)庫(kù),本文將給大家詳細(xì)介紹了一下Python連接SQL?server數(shù)據(jù)庫(kù)詳細(xì)流程,并通過代碼示例給大家講解的非常清除,具有一定的參考價(jià)值,需要的朋友可以參考下
    2024-02-02
  • python數(shù)學(xué)模塊(math/decimal模塊)

    python數(shù)學(xué)模塊(math/decimal模塊)

    這篇文章主要介紹了python數(shù)學(xué)模塊(math/decimal模塊),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • TensorFlow模型保存/載入的兩種方法

    TensorFlow模型保存/載入的兩種方法

    這篇文章主要為大家詳細(xì)介紹了TensorFlow 模型保存/載入的兩種方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03

最新評(píng)論

山阳县| 定西市| 蓬莱市| 威远县| 比如县| 阆中市| 克东县| 铜川市| 从江县| 轮台县| 綦江县| 沛县| 拜城县| 裕民县| 绥宁县| 和硕县| 黑河市| 治多县| 牙克石市| 平湖市| 雷波县| 西乌| 纳雍县| 锦州市| 盐城市| 六安市| 白水县| 称多县| 麟游县| 普定县| 工布江达县| 汝南县| 洛阳市| 鄂伦春自治旗| 阿城市| 乌拉特中旗| 独山县| 岳阳县| 绥芬河市| 新乐市| 青州市|