本文關鍵給大家介紹了python程序流程裝包派發實例詳細說明,感興趣的小伙伴可以參考去了解一下,希望可以有一定的幫助,祝愿大家多多的發展,盡早漲薪。
前言
python程序編寫時,部分人良好習慣可實現相同功能性的編碼放到同一個文件;
使用這個編碼只需import就行了;
下邊看這個事例。
testModel.py classTest: name='tom' age=0 __weight=0 def__init__(self,n,a,w): self.name=n self.age=a self.__weight=w defspeak(self): print("Testmodel:",self.name,self.age,self.__weight)
然后,引入上邊的編碼:
importtestModel testModel.Test("tom",0,1).speak() #Testmodel:tom01 python程序流程裝包 新創建一個文件夾testPackages; testPackages下新創建1個空文件__init__.py,聲明書這也是一個python包 testPackages下新創建1個空文件testModel.py,用以儲放函數代碼 testPackages/ ├──__init__.py └──testModel.py
然后,引入上邊的編碼:
fromtestPackagesimporttestModel testModel.Test("tom",0,1).speak() #Testmodel:tom01
__init__.py文件的作用
__init__.py的作用是聲明這也是一個包;
每一次導進包前都會先實行__init__.py,因此可以在這其中聲明某些界定,例如自變量或插口;
下面我們就看這個__init__.py的應用事例
testPackages/ ├──__init__.py ├──add.py └──testModel.py
add.py
defadd(a,b): returna+b __init__.py importtestPackages.add add=testPackages.add.add
然后,引入上邊的編碼:
importtestPackages testPackages.add(1,2) #3
搭建python包
使用setuptools搭建python包
packaging_tutorial/
├──LICENSE
├──pyproject.toml#應用什么樣的工具(pip或build)構建項目
├──README.md
├──src/
│└──example_package/
│├──__init__.py
│└──example.py
└──tests/#事例數據
pyproject.toml [build-system] requires=["setuptools>=42"] build-backend="setuptools.build_meta" setup.py是setuptool的搭建腳本,用以組裝包的相關信息:名稱,版本號和源代碼詳細地址 importsetuptools withopen("README.md","r",encoding="utf-8")asfh: long_description=fh.read() setuptools.setup( name="testPackages", version="2.2.1", author="Author", author_email="authorexample.com", description="Asmallexamplepackage", long_description=long_description, long_description_content_type="text/markdown", url="http://baidu.com/", classifiers=[ "ProgrammingLanguage::Python::3", "License::OSIApproved::MITLicense", "OperatingSystem::OSIndependent", ], package_dir={"":"src"}, packages=setuptools.find_packages(where="src"), python_requires=">=3.6", )
setup()主要參數:
package_dir:辭典,key是包名,value是一個文件夾;
packages:派發包必須導進的所有控制模塊目錄;能夠手工錄入,也可以用find_packages函數全自動探尋package_dir下的所有包或控制模塊。
形成派發包
python3setup.pysdist
當地組裝
python3-mpipinstall./dist/testPackages-2.2.1.tar.gz
啟用
fromtestPackagesimportadd add.add(1,2) #3 #在__init__.py搭建了add=testPackages.add.add,因此可以直接用 add(1,2) #3
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家帶來幫助。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/128855.html
當運用桌面應用程序時,有沒有有一瞬間,想學習下桌面應用程序開發設計?接下來本文關鍵為大家介紹了有關Python使用pywebview開發設計桌面應用的資料,必須的小伙伴可以借鑒一下 序言 平時用過Eel做出來的桌面應用感覺就已經夠屌了,不過因為Eel是啟用Chrome,常常出現一些小毛病,例如窗口大小設定后有的時候不起作用,右鍵新建菜單沒法禁止使用(一眼就能看出來是一個web).并且試了用...
當運用桌面應用程序時,有沒有有一瞬間,想學習下桌面應用程序開發設計?接下來本文關鍵為大家介紹了有關Python使用pywebview開發設計桌面應用的資料,必須的小伙伴可以借鑒一下 序言 平時用過Eel做出來的桌面應用感覺就已經夠屌了,不過因為Eel是啟用Chrome,常常出現一些小事情,例如窗口大小設定后有時不起作用,右鍵新建菜單沒法禁止使用(一眼就能看出來就是一個web).并且試了用p...
目錄生成式基礎語法 [expforiter_variniterable(ifconditional)] 基本原理: 最先迭代更新iterable里全部內容,每次迭代更新,都把iterable里對應的具體內容放在iter_var中,然后把關系式exp運用該iter_var的具體內容,依據標準進行分類 然后用關系式計算值形成一個全新的目錄 先于for和if循環系統: 1、比for循環快...
閱讀 911·2023-01-14 11:38
閱讀 878·2023-01-14 11:04
閱讀 740·2023-01-14 10:48
閱讀 1982·2023-01-14 10:34
閱讀 942·2023-01-14 10:24
閱讀 819·2023-01-14 10:18
閱讀 499·2023-01-14 10:09
閱讀 572·2023-01-14 10:02