模塊
模塊實質(zhì)上就是一個python文件。
它是用來組織代碼的鹏氧,文件名其實就是模塊名.
例如hello.py hello就是模塊的名稱.
包
包(package)醇滥,本質(zhì)來說就是一個文件夾,但是其中有一個init.py文件斩郎。
包是從邏輯上來組織模塊的,也就是說它是用來存放模塊的喻频,如果想導(dǎo)入其他目錄下的模塊缩宜,那么這個目錄必須是一個包才可以導(dǎo)入。
使用第三方的包的方法
一般情況下使用pip
安裝第三方包:
安裝新包: pip install xxxx
卸載已安裝的包:pip uninstall xxxx
更新已安裝的包: easy_install install xxxx -U
查看已安裝的包: pip list
python項目
一個完整的結(jié)構(gòu)需要滿足以下的條件:
- 擁有一個在版本管理之下的源碼目錄
- 程序信息在setup.py中定義
- 在一個virtualenv環(huán)境中運行
如何制作自己的安裝包
如何讓自己寫的包能被人當(dāng)作第三方庫安裝甥温?
首先了解下什么是setuptools?
什么是setuptools
setuptools是Python distutils增強版的集合锻煌,它可以幫助我們更簡單的創(chuàng)建和分發(fā)Python包,尤其是擁有依賴關(guān)系的窿侈。用戶在使用setuptools創(chuàng)建的包時炼幔,并不需要已安裝setuptools,只要一個啟動模塊即可史简。
使用時使用import setuptools
導(dǎo)入即可.
第一步:創(chuàng)建代碼和文件夾
mytest目錄下創(chuàng)建代碼__init__.py
def add(x,y):
return x+y
def main():
pass
if __name__ == '__main__':
main()
第二步:創(chuàng)建setup.py
mytest文件夾同級目錄下創(chuàng)建一個setup.py
:
from setuptools import setup
setup(
name = 'mytest',
version = '0.1',
author = 'BYManbu',
packages = ['mytest'],
)
使用命令檢測setup.py
是否語法正確:
$ python setup.py check
語法有誤,繼續(xù)修改......
修改后:
from setuptools import setup
setup(
name = 'mytest',
version = '0.1',
author = 'BYManbu',
author_email = 'bymanbu@126.com',
url = 'https://pypi.org/help/',
packages = ['mytest'],
)
ok, 這次順利通過檢測.O(∩_∩)O
打包目錄
使用命令進行打包:
python setup.py bdist_egg
打包前:
打包后:
第三步:安裝install
python setup.py install
驗證下是否安裝成功:
ok, 這樣就可以在本地使用了.O(∩_∩)O
當(dāng)然也可以上傳PyPI
讓其他人使用.
本地不安裝使用包
對于python程序來說,有個環(huán)境變量sys.path
的概念.
sys.path
中記錄這python使用包時候搜索的路徑
可以打印sys.path
查看:
其中/usr/local/lib/python2.7/dist-packages/mytest-0.1-py2.7.egg
就是剛才我們安裝的自定義庫.O(∩_∩)O
如何使用未安裝的庫?
使用本地的包(不經(jīng)過安裝的),需要執(zhí)行如下步驟:
- import sys
- 添加sys.path.append(包的絕對路徑)
參考
Python的模塊引用和查找路徑
Python學(xué)習(xí)筆記十_模塊乃秀、第三方模塊安裝、模塊導(dǎo)入
(轉(zhuǎn))為Python添加默認模塊搜索路徑
第三章:python項目的結(jié)構(gòu)和包的創(chuàng)建
導(dǎo)入他人寫的Python包&創(chuàng)建自己的Python包
如何創(chuàng)建自己的python包
如何將自己的Python程序打包--setuptools詳解
Python環(huán)境變量PYTHONPATH設(shè)置圆兵、導(dǎo)入第三方模塊