python 制作自定義包并安裝到系統(tǒng)目錄的方法
python 中的包的概念跟c++中的namespace很相似,在大型的工程開發(fā)中,多個(gè)開發(fā)人員很容使用相同的函數(shù)名,為了避免相同函數(shù)名帶來的問題,就引入了包的概念。
在看別人寫的程序中經(jīng)??吹叫稳纭癴rom xx import yy”xx就是包
制作一個(gè)本地使用的包
建立一個(gè)文件夾并命名為dl,文件夾名"dl"就是我們的包名,在文件夾內(nèi)部新建一個(gè)“__init__.py”(注意init左右兩邊都是兩個(gè)底線符號(hào)),在文件夾下添加自己的模塊即可,代碼目錄如下,a.py中存放test_a函數(shù),b.py中存放test_b函數(shù)
在dl同級(jí)目錄中添加要使用包的測試文件,并測試
測試代碼如下:
<code class="language-python">from dl import a,b a.test_a() b.test_b()</code>
可以發(fā)現(xiàn)能正常執(zhí)行包dl中模塊a和模塊b中的函數(shù)(包是可以嵌套的,包中可以再添加包)
_init__.py中可以控制當(dāng)前包都有哪些模塊可以導(dǎo)出,如果__init__.py中什么內(nèi)容都沒有,表示當(dāng)前包中所有的模塊都可以導(dǎo)出,其他模塊可以通過“from xx import *”的方式使用該包。
在__init__.py中添加“__all__ = ['a','b']”表示當(dāng)前包內(nèi)只有a,b兩個(gè)模塊可以導(dǎo)出
制作并安裝包
在包dl同級(jí)的目錄中創(chuàng)建setup.py
<code class="language-python">from distutils.core import setup setup(name="testModule", version="18.0.4", description="test to install module", author="szfhy", py_modules=['dl.a','dl.b', 'dl.network.facenet'])</code>
制作包執(zhí)行命令 python setup.py build
生成壓縮包 python setup.py sdist
解壓縮包,并安裝 sudo python setup.py install
進(jìn)入python終端測試:
功能一切正常。大功告成!
以上這篇python 制作自定義包并安裝到系統(tǒng)目錄的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python關(guān)于矩陣重復(fù)賦值覆蓋問題的解決方法
這篇文章主要介紹了python關(guān)于矩陣重復(fù)賦值覆蓋問題的解決方法,涉及Python深拷貝與淺拷貝相關(guān)操作與使用技巧,需要的朋友可以參考下2019-07-07PyQt5 QTableView設(shè)置某一列不可編輯的方法
今天小編就為大家分享一篇PyQt5 QTableView設(shè)置某一列不可編輯的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06如何安裝并使用conda指令管理python環(huán)境
這篇文章主要介紹了如何使用conda指令管理python環(huán)境,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07Python OpenCV Hough直線檢測算法的原理實(shí)現(xiàn)
這篇文章主要介紹了Python OpenCV Hough直線檢測算法的原理實(shí)現(xiàn),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07python語言中print中加號(hào)、減號(hào)、乘號(hào)的應(yīng)用方式
這篇文章主要介紹了python語言中print中加號(hào)、減號(hào)、乘號(hào)的應(yīng)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02PyQt5實(shí)現(xiàn)將Matplotlib圖像嵌入到Scoll Area中顯示滾動(dòng)條效果
我想知道是否有一種方法可以在matplotlib上顯示滾動(dòng)條(水平或垂直),顯示包含多個(gè)子槽(sublot2grid)的頁面(plt.show).下面就通過本文給大家分享PyQt5實(shí)現(xiàn)將Matplotlib圖像嵌入到Scoll Area中顯示滾動(dòng)條效果,對(duì)PyQt5 Matplotlib圖像嵌入相關(guān)知識(shí)感興趣的的朋友一起看看吧2021-05-05python urllib爬取百度云連接的實(shí)例代碼
本篇文章主要介紹了python urllib爬取百度云連接的實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06