dir()是python中內置的命令返回一個字符串數組,能夠用來查看一個module聲明的名稱。經過dir(module_name)查看一個module聲明的名稱,不提供參數的狀況下會返回當前文件的聲明信息。 html
module自己就能夠做爲python腳本執行,命令行中經過python module.py能夠直接執行module,除此之外在import時若是被引入的module中有獨立的代碼(即不是class或者function的定義)也會被執行。若是但願只在做爲獨立腳本是被執行,能夠寫成以下: python
if __name__ == '__main__': print('your code.')
python會經過兩個地方查找被引入的module——builtins和sys.path。builtins是python內置的標準函數庫,可能因不一樣的平臺而有所不一樣,sys.path則分爲項目目錄和PYTHONPATH兩部分。當一個module被引入時,python先查找builtins,若是沒有找到則嘗試在當前目錄查找,若是仍然沒有則查找PYTHONPATH也就是python的site-package目錄。所以若是在項目目錄中聲明瞭和PYTHONPATH中同名的module,那麼項目目錄中的module會優先加載。 shell
python中的package就是代碼在的目錄路徑,經過"."的表達式標識。在pythong中能夠經過from aaa.bbb import ccc和import aaa.bbb.ccc或者fromaaa import bbb.ccc來達到引入ccc的目的,不一樣之處是import以後的內容在使用時須要提供全名稱,也就是上述三種寫法在使用時分別要調用:ccc.fun()、aaa.bbb.ccc.fun()、bbb.ccc.fun()。
package所在的目錄須要包含一個空文件__init__.py來代表這個是一個python package,同時在__init__.py文件中能夠聲明一些描述性的代碼來變動package的特性。好比針對import *的__all__,正常狀況下咱們寫from aaa.bbb import *會引入位於aaa/bbb目錄下的全部modules——這是一個很差的實踐,由於有些東西可能會有反作用。特別的若是某個package下有你明確不但願被引用的py文件,能夠經過__all__明確說明哪些是但願引入的,這樣在python處理import *時會忽略掉不在__all__列表的內容。以下面的__init__.py指明瞭在import *時只有persons這個module會被引入。 django
__author__ = 'Administrator' __all__ = ['persons',]
pip是用於安裝PyPI中所列出的package的工具。PyPI即Python Package Index,是python提供的一個lib的在線倉庫相似於Java的maven。pip的功能包括幾方面:安裝、卸載、升級、查看和本地安裝、配置。 數組
pip用於安裝package的命令install,使用命令pip install somepackage完成安裝。通常狀況下pip會選擇最新的版本安裝,能夠經過參數version指定但願的package版本。除了單個package的安裝pip還能夠經過requirement file進行批量安裝,命令:pip install -r requirement.txt。requirement file自己就是一個包含多個package列表文本文件,而且能夠接受version等參數。使用requirement file的目的包括: 緩存
pip還支持wheel格式的安裝,wheel是一種package的壓縮格式要比經過源碼的安裝快速,默認狀況下pip優先選擇wheel格式安裝,只有在沒法找到wheel文件時纔會從源文件安裝。wheel是pip的一個模塊,經過一下命令能夠把源文件打包成wheel和從指定wheel文件安裝package: 網絡
#打包 pip wheel --wheel-dir=/your_wheel_directory -r requirement.txt #安裝 pip install --no-index --find-links=/your_wheel_directory -r requirement.txt
#下載 pip install --download <DIR> -r requirements.txt #安裝 pip install --no-index --find-links=[file://]<DIR> -r requirements.txt
#查看已經安裝的package pip list #查看過時的package pip list --outdated #查看某個package的詳細 pip show Django
pip install --upgrade --no-deps SomePackage pip install SomePackage
不一樣的操做系統平臺pip的安裝文件位置有所不一樣,Linux和MacOS中位於%HOME%/pip/pip.conf,Windows下位於%HOME/pip/pip.ini。pip的配置能夠分爲兩個做用範圍:總體和子命令。好比: maven
[global] timeout = 60 [freeze] timeout = 10
#設置環境變量 export PIP_DEFAULT_TIMEOUT=60 #命令行參數 pip --default-timeout=60 [...]