欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

【import模塊】

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

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

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

1. Python把已加載的模塊放在內(nèi)置的sys.modules字典中,在import操作開始時會確認引用的模塊是否已加載。如果想看哪些模塊已加載,可以導(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擴展文件(Windows: .dll或.pyd文件 | Linux: .so文件)
4.相同變量名的目錄(用于包導(dǎo)入)

【搜索路徑】

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

1. 程序的主目錄(程序當前運行的目錄)
2. PYTHONPATH目錄(在環(huán)境變量里面配置與加到Path中一樣)
3. 標準庫目錄(比如說: 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'] 

臨時的工作路徑加載,可以用
復(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') 

【模塊安裝】

但上面的方法只是臨時性的,一旦退出程序或當前交互環(huán)境,就失效。要想永久生效就必須讓其加入到上述目錄中
Perl的強大在于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. 用第三方模塊管理庫(比如說Canopy就可以管理科學(xué)計算模塊,可惜很多需要收費)

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

相關(guān)文章

  • 使用Scrapy框架爬取網(wǎng)頁并保存到Mysql的實現(xiàn)

    使用Scrapy框架爬取網(wǎng)頁并保存到Mysql的實現(xiàn)

    本文主要介紹了使用Scrapy框架爬取網(wǎng)頁并保存到Mysql的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Python asyncio常用函數(shù)使用詳解

    Python asyncio常用函數(shù)使用詳解

    Asyncio在經(jīng)過一段時間的發(fā)展以及獲取Curio等第三方庫的經(jīng)驗來提供更多的功能,目前高級功能也基本完善,但是相對于其他語言,Python的Asyncio高級功能還是不夠的,但好在Asyncio的低級API也比較完善
    2023-03-03
  • Django用戶認證系統(tǒng) 組與權(quán)限解析

    Django用戶認證系統(tǒng) 組與權(quán)限解析

    這篇文章主要介紹了Django用戶認證系統(tǒng) 組與權(quán)限解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • 詳解Python中的循環(huán)語句的用法

    詳解Python中的循環(huán)語句的用法

    這篇文章主要介紹了詳解Python中的循環(huán)語句的用法,循環(huán)語句是學(xué)習(xí)各個編程語言的最基本的基礎(chǔ)知識,需要的朋友可以參考下
    2015-04-04
  • python數(shù)據(jù)結(jié)構(gòu)之圖深度優(yōu)先和廣度優(yōu)先實例詳解

    python數(shù)據(jù)結(jié)構(gòu)之圖深度優(yōu)先和廣度優(yōu)先實例詳解

    這篇文章主要介紹了python數(shù)據(jù)結(jié)構(gòu)之圖深度優(yōu)先和廣度優(yōu)先,較為詳細的分析了深度優(yōu)先和廣度優(yōu)先算法的概念與原理,并給出了完整實現(xiàn)算法,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • PyTorch?之?強大的?hub?模塊和搭建神經(jīng)網(wǎng)絡(luò)進行氣溫預(yù)測

    PyTorch?之?強大的?hub?模塊和搭建神經(jīng)網(wǎng)絡(luò)進行氣溫預(yù)測

    hub 模塊是調(diào)用別人訓(xùn)練好的網(wǎng)絡(luò)架構(gòu)以及訓(xùn)練好的權(quán)重參數(shù),使得自己的一行代碼就可以解決問題,方便大家進行調(diào)用,這篇文章主要介紹了PyTorch?之?強大的?hub?模塊和搭建神經(jīng)網(wǎng)絡(luò)進行氣溫預(yù)測,需要的朋友可以參考下
    2023-03-03
  • Django app配置多個數(shù)據(jù)庫代碼實例

    Django app配置多個數(shù)據(jù)庫代碼實例

    這篇文章主要介紹了Django app配置多個數(shù)據(jù)庫代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • 在 Python 中使用 MQTT的方法

    在 Python 中使用 MQTT的方法

    這篇文章主要介紹了在 Python 中使用 MQTT的方法,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-08-08
  • python實現(xiàn)二維插值的三維顯示

    python實現(xiàn)二維插值的三維顯示

    這篇文章主要為大家詳細介紹了python實現(xiàn)二維插值的三維顯示,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • 解決pycharm中的run和debug失效無法點擊運行

    解決pycharm中的run和debug失效無法點擊運行

    這篇文章主要介紹了解決pycharm中的run和debug失效無法點擊運行方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06

最新評論