手把手教你打包Python項(xiàng)目為whl文件
1,打包whl文件作用
- 便于分發(fā):
.whl文件是一種Python分發(fā)包格式,它允許開發(fā)者將代碼和資源打包在一起,方便其他用戶或開發(fā)者下載和安裝。 - 兼容性:Wheel文件格式是跨平臺(tái)的,可以在不同的操作系統(tǒng)上使用,比如Windows、Linux和macOS。
- 安裝速度:與源代碼包相比,Wheel文件通常安裝速度更快,因?yàn)樗鼈兪穷A(yù)編譯的,不需要用戶在安裝時(shí)編譯。
- 依賴管理:Wheel文件可以包含項(xiàng)目的依賴信息,使得安裝過程更加自動(dòng)化,減少了因缺少依賴而出現(xiàn)的問題。
- 版本控制:通過打包成
.whl文件,可以清晰地管理不同版本的項(xiàng)目,便于用戶選擇和升級(jí)。 - 避免污染環(huán)境:使用Wheel文件安裝的包通常不會(huì)修改全局Python環(huán)境,這有助于避免不同項(xiàng)目間的依賴沖突。
- 簡(jiǎn)化開發(fā)流程:開發(fā)者可以通過Wheel文件快速測(cè)試和部署他們的項(xiàng)目,無需擔(dān)心環(huán)境配置問題。
- 支持額外的元數(shù)據(jù):Wheel文件可以包含額外的元數(shù)據(jù),如項(xiàng)目的描述、作者信息、許可證等,有助于用戶了解和使用項(xiàng)目。
- 支持二進(jìn)制文件:Wheel文件可以包含編譯后的二進(jìn)制文件,這對(duì)于包含C擴(kuò)展的Python項(xiàng)目尤為重要,可以避免用戶在安裝時(shí)重新編譯。
- 提高安全性:通過使用可信的Wheel文件源,可以減少?gòu)牟豢尚湃卧聪螺d代碼的風(fēng)險(xiǎn),提高項(xiàng)目的安全性。
2,單個(gè)Python文件打包
1、程序目錄
在同一個(gè)文件夾whiltest下放入python程序和setup程序
目錄格式如下:
whltest
Method.py
setup.py2、程序內(nèi)容
- Method.py
class Method:
def __init__(self,name,age):
self.f_name = name
self.f_age = age
print("init success",self.f_name,self.f_age)
def getInfo(name,age):
print(name+"#######"+age)
def my_getInfo(self):
print(self.f_name,"##########",self.f_age)- setup.py
from setuptools import setup
setup(name='Method',
version='1.0',
py_modules=['Method'],
)3、打whl包
CMD進(jìn)入setup.py所在目錄執(zhí)行如下命令:
python setup.py bdist_wheel

在同目錄會(huì)生成多個(gè)文件夾,其中dist文件夾下就是打包成的whl包。
build文件夾通常在構(gòu)建完成后就不再需要了,除非需要進(jìn)行調(diào)試或查看構(gòu)建過程的詳細(xì)信息。在發(fā)布或分發(fā)項(xiàng)目時(shí),通常只關(guān)心最終生成的.whl文件。

4、將whl包導(dǎo)入環(huán)境
我使用的是anaconda3,進(jìn)入對(duì)應(yīng)環(huán)境執(zhí)行如下命令安裝:
pip install whl對(duì)應(yīng)全路徑
5、查看效果

6、代碼驗(yàn)證


3、多個(gè)python文件打包
1、程序目錄
將多個(gè)py文件和__init__.py放在同一個(gè)目錄下,setup.py要和此目錄同級(jí)。
目錄格式如下:
packageTest
Test
__init__.py
Print.py
get_data.py
setup.py2、程序內(nèi)容
- Print.py
def get_info(x):
print("x = ",x)- get_data.py
def get_data(x):
x1 = 3*x
return x1- setup.py
from setuptools import setup
setup(name='test',
version='1.0',
description='test',
author='xy',
author_email='123456@qq.com',
packages=['test'],
)3、打whl包
同樣CMD進(jìn)入setup.py同級(jí)目錄下執(zhí)行如下命令:
python setup.py bdist_wheel
4、將whl包導(dǎo)入環(huán)境
我使用的是anaconda3,進(jìn)入對(duì)應(yīng)環(huán)境執(zhí)行如下命令安裝:

5、查看效果
同單個(gè)python文件打包的五步驟;

6、代碼驗(yàn)證


到此這篇關(guān)于手把手教你打包Python項(xiàng)目為whl文件的文章就介紹到這了,更多相關(guān)Python打包項(xiàng)目為whl文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)計(jì)數(shù)排序與桶排序?qū)嵗a
這篇文章主要介紹了python計(jì)數(shù)排序與桶排序,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
Python實(shí)現(xiàn)文檔精準(zhǔn)分句并調(diào)用模型進(jìn)行預(yù)翻譯
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)文檔精準(zhǔn)分句并調(diào)用模型進(jìn)行預(yù)翻譯功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-11-11
Pandas如何將Timestamp轉(zhuǎn)為datetime類型
這篇文章主要介紹了Pandas如何將Timestamp轉(zhuǎn)為datetime類型,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
python3模擬百度登錄并實(shí)現(xiàn)百度貼吧簽到示例分享(百度貼吧自動(dòng)簽到)
這篇文章主要介紹了python3模擬百度登錄并實(shí)現(xiàn)百度貼吧簽到示例,需要的朋友可以參考下2014-02-02
自己編程中遇到的Python錯(cuò)誤和解決方法匯總整理
這篇文章主要介紹了自己編程中遇到的Python錯(cuò)誤和解決方法匯總整理,本文收集整理了較多的案例,需要的朋友可以參考下2015-06-06
基于Python開發(fā)一個(gè)多線程IP網(wǎng)絡(luò)掃描工具
IP?Scanner?是一個(gè)基于?Python?開發(fā)的網(wǎng)絡(luò)掃描工具,它能夠快速掃描指定網(wǎng)段內(nèi)的活動(dòng)?IP?地址,下面小編就來和大家詳細(xì)介紹一下它的具體實(shí)現(xiàn)方法吧2025-05-05
Python一鍵搞定Excel數(shù)據(jù)自動(dòng)分配
這篇文章主要為大家詳細(xì)介紹了Python一鍵搞定Excel數(shù)據(jù)自動(dòng)分配的相關(guān)方法,可以輕松實(shí)現(xiàn)水果分箱,文中的示例代碼講解詳細(xì),有需要的小伙伴可以了解下2025-10-10

