自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?

開發(fā) 后端
你把你的代碼寫完了,是不是要給別人使用下,怎么打包你的項(xiàng)目代碼呢?喂,開源么?接下來(lái)小帥b就跟你說(shuō)說(shuō),如何打包你的代碼。

你把你的代碼寫完了,是不是要給別人使用下,怎么打包你的項(xiàng)目代碼呢?

喂,開源么?

接下來(lái)小帥b就跟你說(shuō)說(shuō),如何打包你的代碼。

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

 

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?

在 todo 這個(gè)目錄里面,文件都放在一起了,我們可以這樣簡(jiǎn)單劃分一下:

 

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?

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

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

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

 

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?

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

 

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?

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

 

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?

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

 

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?

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

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

 

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?

每個(gè)參數(shù)都是什么意思呢?我來(lái)給你說(shuō)明一下:

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

 

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?
  • name: 你定義的包名,可以用字母、數(shù)字、下劃線,需要確保唯一性。
  • version: 項(xiàng)目的版本號(hào)。
  • author: 你(作者)的名稱。
  • author_email: 你(作者) 的郵箱。
  • description: 項(xiàng)目的簡(jiǎn)要描述。
  • long_description_content_type:長(zhǎng)描述內(nèi)容的使用的標(biāo)記類型,一般為 markdown 或者 rst。
  • url: 你這個(gè)項(xiàng)目的主頁(yè)地址,也可以直接鏈接到你這個(gè)項(xiàng)目的Github 地址上面去。
  • include_package_data: 是否添加 py 以外的文件。
  • package_data: 需要添加 Python 的額外文件列表。
  • packages: 直接用 setuptool 找到你項(xiàng)目所有相關(guān)的包列表。
  • classifiers: 附加說(shuō)明,比如這里寫的就是使用于 Python3 版本,使用的是 MIT 協(xié)議,獨(dú)立于 OS。
  • python_requires: python 版本要求。

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

 

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?

接下來(lái)就可以打包了。

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

  1. python3 -m pip install --upgrade setuptools wheel 

 

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?

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

  1. python3 setup.py sdist bdist_wheel 

 

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?

這時(shí)候你的目錄會(huì)增加這么些文件:

 

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?

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

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

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

先安裝一下 twine:

  1. python3 -m pip install twine 

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

  1. twine upload dist/* 

這時(shí)候它會(huì)提示你輸入 pypi 的賬號(hào)密碼:

 

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?

沒有怎么辦?去注冊(cè)一個(gè)唄,到以下鏈接注冊(cè):

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

接著輸入你的賬號(hào)密碼,就可以上傳上去了:

 

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?

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

 

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?

 

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?

像這樣:

 

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?

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

 

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?

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

 

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?

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

 

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?

 

Python 項(xiàng)目代碼寫完了,然后怎么打包和發(fā)布?

ok,以上就是今天小帥b給你帶來(lái)的分享,希望對(duì)你有幫助,那么我們下回見,peace!

責(zé)任編輯:未麗燕 來(lái)源: 今日頭條
相關(guān)推薦

2020-01-05 23:20:45

進(jìn)度條Python代碼

2019-12-30 18:32:08

PythonGitHub腳本語(yǔ)言

2020-07-27 07:27:03

程序員技術(shù)編碼

2021-03-26 21:34:30

Javasript項(xiàng)目工具

2017-02-28 10:22:54

項(xiàng)目GitLab

2021-11-17 21:58:02

Python編程語(yǔ)言

2010-09-10 15:23:54

CSS匹配CSS

2017-09-25 21:00:44

代碼開發(fā)完美

2010-09-01 11:08:09

CSS

2017-01-09 07:05:26

谷歌編程語(yǔ)言

2017-07-03 10:20:06

程序員工程師開源項(xiàng)目

2023-11-12 22:51:14

2024-02-20 08:51:56

PythonFlask工具

2019-11-25 21:53:48

代碼算法BUG

2011-08-03 13:43:50

iOS程序 打包 發(fā)布

2010-09-03 16:07:48

CSS

2019-03-12 08:36:00

架構(gòu)師程序員刪庫(kù)

2023-12-07 14:13:48

火狐Firefox瀏覽器

2021-01-26 08:02:04

Redis內(nèi)存數(shù)據(jù)庫(kù)

2020-03-18 15:54:41

開發(fā)效率代碼
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)