日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python的setuptools详解【3】打包wheel并提交给pypi

發布時間:2025/3/21 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python的setuptools详解【3】打包wheel并提交给pypi 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、說明

????????上文說,如何用setup.py打包成egg包,繼而又有find_package()函數用法,本篇專門介紹,如何用setuptools打包成不同的軟件包。

????????首先需要保證你有最新版的setuptools?和wheel

python -m pip install --user --upgrade setuptools wheel

二. 打包模塊

# 進入到setup.py同級的目錄下 python setup.py sdist bdist_wheel

????????打包之后多出兩個文件夾,分別是hello.egg-info和dist。hello.egg-info是必要的安裝信息,而dist中的壓縮包就是安裝包

????????dist中包含兩個文件:

dist/ |-- hello-1.0-py3-none-any.whl `-- hello-1.0.tar.gz

三、其它打包方式????????

????????有了上面的 setup.py 文件,我們就可以打出各種安裝包,主要分為兩類:sdist 和 bdist。

3.1 帶源發布格式(Source distribution)

????????使用 sdist發布,需要用戶下載源碼,編譯安裝。好處是本地編譯,更符合本地電腦環境,支持的壓縮格式有:

FormatDescriptionNotes
zipzip file (.zip)Windows 默認
gztargzip’ed tar file (.tar.gz)Unix 默認
bztarbzip2’ed tar file (.tar.bz2)
xztarxz’ed tar file (.tar.xz)
ztarcompressed tar file (.tar.Z)
tartar file (.tar)

3.2 sdist 的實現語句:

$ python setup.py sdist --formats=gztar,zip

????????現在目錄下多出 dist 和 *.egg-info 目錄,dist 內保存了我們打好的包,上面命令使用?--formats?指定了打出?.tar.gz?和?.zip?包,如果不指定則如上表根據具體平臺默認格式打包。

????????包的名稱為?setup.py?中定義的?name,?version以及指定的包格式,格式如:firstApp-0.0.1.tar.gz。

3.3 建制發布格式包 Built distribution

????????使用 bdist 可以打出 built distribution,和源碼包相比,由于預先編譯好結果,所以安裝更快,但缺點是,安裝后容易發生環境沖突:

FormatDescriptionNotes
gztargzipped tar file (.tar.gz)Unix 默認
bztarbzipped tar file (.tar.bz2)
xztarxzipped tar file (.tar.xz)
ztarcompressed tar file (.tar.Z)
tartar file (.tar)
zipzip file (.zip)Windows 默認
rpmRPM
pkgtoolSolaris pkgtool
sduxHP-UX swinstall
wininstself-extracting ZIP file for Windows
msiMicrosoft Installer.

3.4?bdist語句格式

????????同 sdist 類同,可以使用?--formats?指定包格式。如:

$ python setup.py bdist --formats=rpm

3.5 簡化的便捷打包指令

同時為了簡化操作,setuptools 提供了如下命令:

CommandFormatsNotes
bdist_dumbtar, gztar, bztar, xztar, ztar, zipWindows 默認 zip, Unix 默認 gztar
bdist_rpmrpm, srpm
bdist_wininstwininst
bdist_msimsi

所以上面打 rpm 包可以使用:

$ python setup.py bdist_rpm

四、上傳到Pypi

此時前置打包的步驟已經完成,可以開始進行上傳。

4.1.利用twine將包上傳上去,首先安裝twine

pip install twine

4.2.注冊 PyPI 賬號

登錄?PyPI · The Python Package Index,注冊賬號

4.3 上傳到PyPI倉庫

1) # 使用 upload $ twine upload dist/* 輸入 username 和 password 即上傳至 PyPI。2) # 如果不想每次輸入賬號密碼,可以在home目錄下創建 .pypirc 文件,內容如下:[distutils] index-servers =pypipypitest[pypi] username: password: [pypitest] repository: https://test.pypi.org/legacy/ username: password:

4.4? 檢驗
這時候就可以,下載包,然后運行里面方法了

pip install hello(mypakage)

4.5? 更新版本
更新版本也很簡單,只需要修改setup.py下的version
然后重新生成檔案,上傳

python setup.py sdist bdist_wheel twine upload dist/hello-0.0.2*

參考文章:

Python打包之setuptools - 我用python寫Bug - 博客園

python 包管理工具 setuptools 詳解_whatday的專欄-CSDN博客_python setuptools

總結

以上是生活随笔為你收集整理的Python的setuptools详解【3】打包wheel并提交给pypi的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。