python之本地模塊/包使用和創(chuàng)建

image.png

模塊

模塊實質(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)需要滿足以下的條件:

  1. 擁有一個在版本管理之下的源碼目錄
  2. 程序信息在setup.py中定義
  3. 在一個virtualenv環(huán)境中運行

如何制作自己的安裝包

如何讓自己寫的包能被人當作第三方庫安裝?
首先了解下什么是setuptools?

什么是setuptools

setuptools是Python distutils增強版的集合,它可以幫助我們更簡單的創(chuàng)建和分發(fā)Python包,尤其是擁有依賴關(guān)系的。用戶在使用setuptools創(chuàng)建的包時,并不需要已安裝setuptools,只要一個啟動模塊即可。

使用時使用import setuptools導(dǎo)入即可.

image.png

image.png
第一步:創(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
image.png

語法有誤,繼續(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

打包前:


image.png

打包后:

image.png
第三步:安裝install
python setup.py install

驗證下是否安裝成功:


image.png

ok, 這樣就可以在本地使用了.O(∩_∩)O

當然也可以上傳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í)行如下步驟:

  1. import sys
  2. 添加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)入第三方模塊

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容