欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

手把手教你打包Python項(xiàng)目為whl文件

 更新時(shí)間:2025年07月18日 10:47:59   作者:今夕是何年,  
Wheel文件可以包含編譯后的二進(jìn)制文件,這對(duì)于包含C擴(kuò)展的Python項(xiàng)目尤為重要,可以避免用戶在安裝時(shí)重新編譯,下面就來(lái)介紹一下如何打包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)目,無(wú)需擔(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.py

2、程序內(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.py

2、程序內(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調(diào)用matplotlib模塊繪制柱狀圖

    python調(diào)用matplotlib模塊繪制柱狀圖

    這篇文章主要為大家介紹了python調(diào)用matplotlib模塊繪制柱狀圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • Mac 上切換Python多版本

    Mac 上切換Python多版本

    Mac上自帶了Python2.x的版本,有時(shí)需要使用Python3.x版本做開發(fā),但不能刪了Python2.x,可能引起系統(tǒng)不穩(wěn)定,那么就需要安裝多個(gè)版本的Python下面通過本文給大家介紹Mac 上切換Python多版本的方法,需要的的朋友一起看看吧
    2017-06-06
  • 使用django和vue進(jìn)行數(shù)據(jù)交互的方法步驟

    使用django和vue進(jìn)行數(shù)據(jù)交互的方法步驟

    這篇文章主要介紹了使用django和vue進(jìn)行數(shù)據(jù)交互的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • pandas 按日期范圍篩選數(shù)據(jù)的實(shí)現(xiàn)

    pandas 按日期范圍篩選數(shù)據(jù)的實(shí)現(xiàn)

    這篇文章主要介紹了pandas 按日期范圍篩選數(shù)據(jù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 詳解Python獲取線程返回值的三種方式

    詳解Python獲取線程返回值的三種方式

    提到線程,你的大腦應(yīng)該有這樣的印象:我們可以控制它何時(shí)開始,卻無(wú)法控制它何時(shí)結(jié)束,那么如何獲取線程的返回值呢?今天就和大家分享一下一些做法
    2022-07-07
  • Python和C/C++交互的幾種方法總結(jié)

    Python和C/C++交互的幾種方法總結(jié)

    這篇文章主要給大家總結(jié)介紹了Python和C/C++交互的幾種方法,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-05-05
  • Python迭代器的實(shí)現(xiàn)原理

    Python迭代器的實(shí)現(xiàn)原理

    這篇文章主要介紹了Python迭代器的實(shí)現(xiàn)原理,文章基于python的相關(guān)資料展開對(duì)Python迭代器的詳細(xì)介紹,需要的小伙伴可以參考一下
    2022-05-05
  • Tensorflow 1.0之后模型文件、權(quán)重?cái)?shù)值的讀取方式

    Tensorflow 1.0之后模型文件、權(quán)重?cái)?shù)值的讀取方式

    今天小編就為大家分享一篇Tensorflow 1.0之后模型文件、權(quán)重?cái)?shù)值的讀取方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-02-02
  • Python深度學(xué)習(xí)之FastText實(shí)現(xiàn)文本分類詳解

    Python深度學(xué)習(xí)之FastText實(shí)現(xiàn)文本分類詳解

    FastText是一種典型的深度學(xué)習(xí)詞向量的表示方法,它非常簡(jiǎn)單通過Embedding層將單詞映射到稠密空間,然后將句子中所有的單詞在Embedding空間中進(jìn)行平均,進(jìn)而完成分類操作
    2022-09-09
  • python中Tkinter 窗口之輸入框和文本框的實(shí)現(xiàn)

    python中Tkinter 窗口之輸入框和文本框的實(shí)現(xiàn)

    這篇文章主要介紹了python中Tkinter 窗口之輸入框和文本框的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04

最新評(píng)論