溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python怎么打包代碼和發(fā)布

發(fā)布時間:2021-10-29 17:33:37 來源:億速云 閱讀:282 作者:iii 欄目:編程語言

本篇內(nèi)容主要講解“Python怎么打包代碼和發(fā)布”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Python怎么打包代碼和發(fā)布”吧!

就拿我們上次演示的 用 Python 開發(fā)一個 「個人計(jì)劃 todolist」 為例,寫完代碼之后,代碼的目錄是這樣的:

Python怎么打包代碼和發(fā)布

在 todo 這個目錄里面,文件都放在一起了,我們可以這樣簡單劃分一下:

Python怎么打包代碼和發(fā)布

這里創(chuàng)建了一個 package 目錄,將源碼文件放進(jìn)去,然后把模板文件和數(shù)據(jù)庫文件分門別類的安排好。

在 package 中,還創(chuàng)建了一個 你常??吹降?__init__.py 到底是個啥? 儀式感一下。

為了讓別人知道你是認(rèn)真對待這個項(xiàng)目的,你可以在項(xiàng)目文件中創(chuàng)建一個 tests 目錄,在里面測試你的代碼:

Python怎么打包代碼和發(fā)布

接著可以創(chuàng)建一個  LICENSE,用來說明你的這個項(xiàng)目可以被怎么使用?是不是需要聲明來源,是不是可以商用?別人用你的項(xiàng)目去搞事情如何避免被抓去吃牢飯等。

Python怎么打包代碼和發(fā)布

接著再創(chuàng)建一個 README 文件,來說明你這個項(xiàng)目是干什么的,如何使用等描述。

Python怎么打包代碼和發(fā)布

現(xiàn)在你的項(xiàng)目文件目錄就有點(diǎn)人模人樣了:

Python怎么打包代碼和發(fā)布

接下來要創(chuàng)建一個比較重要的文件了 —— setup.py,這個文件主要用來描述你的項(xiàng)目信息,好讓 setuptools 打包工具來幫你打包項(xiàng)目。

在根目錄下創(chuàng)建一個 setup.py 文件,按以下的方式來寫你的項(xiàng)目信息:

Python怎么打包代碼和發(fā)布

每個參數(shù)都是什么意思呢?我來給你說明一下:

  • long_description:對項(xiàng)目比較長的描述,我們可以直接從 你剛剛寫的 README 文件讀取。

Python怎么打包代碼和發(fā)布
  • name: 你定義的包名,可以用字母、數(shù)字、下劃線,需要確保唯一性。

  • version: 項(xiàng)目的版本號。

  • author: 你(作者)的名稱。

  • author_email: 你(作者) 的郵箱。

  • description: 項(xiàng)目的簡要描述。

  • long_description_content_type:長描述內(nèi)容的使用的標(biāo)記類型,一般為 markdown 或者 rst。

  • url: 你這個項(xiàng)目的主頁地址,也可以直接鏈接到你這個項(xiàng)目的Github 地址上面去。

  • include_package_data: 是否添加 py 以外的文件。

  • package_data: 需要添加 Python 的額外文件列表。

  • packages: 直接用 setuptool 找到你項(xiàng)目所有相關(guān)的包列表。

  • classifiers: 附加說明,比如這里寫的就是使用于 Python3 版本,使用的是 MIT 協(xié)議,獨(dú)立于 OS。

  • python_requires: python 版本要求。

那么現(xiàn)在,你的項(xiàng)目目錄應(yīng)該是這樣子的:

Python怎么打包代碼和發(fā)布

接下來就可以打包了。

如果你之前沒有安裝過 setuptools 和 wheel 可以先安裝一波:

python3 -m pip install --upgrade setuptools wheel
Python怎么打包代碼和發(fā)布

然后在你的項(xiàng)目根目錄下,使用如下命令打包:

python3 setup.py sdist bdist_wheel
Python怎么打包代碼和發(fā)布

這時候你的目錄會增加這么些文件:

Python怎么打包代碼和發(fā)布

這樣就算打包好了,在 dist 目錄中,以 tar.gz 結(jié)尾的是你項(xiàng)目的源文件,而以 .whl 結(jié)尾的就是構(gòu)建好了給別人使用的發(fā)行版。

那么如何將你打包好的項(xiàng)目發(fā)布出來,給別人使用呢?

其實(shí)之前有說過了,這里再簡單的說一下吧:

先安裝一下 twine:

python3 -m pip install twine

接著使用 twine 將你打包好的文件上傳到 pypi 上面去:

twine upload dist/*

這時候它會提示你輸入 pypi 的賬號密碼:

Python怎么打包代碼和發(fā)布

沒有怎么辦?去注冊一個唄,到以下鏈接注冊:

https://pypi.org/account/register/

接著輸入你的賬號密碼,就可以上傳上去了:

Python怎么打包代碼和發(fā)布

這時候別人就可以通過 pip 來安裝你的項(xiàng)目了:

Python怎么打包代碼和發(fā)布
Python怎么打包代碼和發(fā)布

像這樣:

Python怎么打包代碼和發(fā)布

然后就可以給別人使用你的包了:

Python怎么打包代碼和發(fā)布

你在 pip install 的時候,其實(shí)就是下載你上傳的 whl 文件然后安裝:

Python怎么打包代碼和發(fā)布

如果你不想開源,只想給你朋友使用的話,你也可以直接把 dist 這個目錄下的文件發(fā)給他,讓他自行安裝一波就可以使用了:

Python怎么打包代碼和發(fā)布
Python怎么打包代碼和發(fā)布

到此,相信大家對“Python怎么打包代碼和發(fā)布”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI