成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

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

喂,開源么?

接下來小帥b就跟你說說,如何打包你的代碼。

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

 

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

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

 

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

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

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

 

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

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

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

 

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

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

 

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

接下來就可以打包了。

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

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

 

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

然后在你的項目根目錄下,使用如下命令打包:

  1. python3 setup.py sdist bdist_wheel 

 

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

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

 

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

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

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

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

先安裝一下 twine:

  1. python3 -m pip install twine 

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

  1. twine upload dist/* 

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

 

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

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

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

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

 

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

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

 

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

 

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

像這樣:

 

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

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

 

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

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

 

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

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

 

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

 

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

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

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

2019-12-30 18:32:08

PythonGitHub腳本語言

2020-01-05 23:20:45

進度條Python代碼

2020-07-27 07:27:03

程序員技術(shù)編碼

2017-02-28 10:22:54

項目GitLab

2021-03-26 21:34:30

Javasript項目工具

2017-01-09 07:05:26

谷歌編程語言

2010-09-10 15:23:54

CSS匹配CSS

2011-08-03 13:43:50

iOS程序 打包 發(fā)布

2021-11-17 21:58:02

Python編程語言

2017-07-03 10:20:06

程序員工程師開源項目

2010-09-01 11:08:09

CSS

2017-09-25 21:00:44

代碼開發(fā)完美

2019-11-25 21:53:48

代碼算法BUG

2023-11-12 22:51:14

2024-02-20 08:51:56

PythonFlask工具

2010-09-03 16:07:48

CSS

2019-03-12 08:36:00

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

2023-12-07 14:13:48

火狐Firefox瀏覽器

2020-03-18 15:54:41

開發(fā)效率代碼

2021-01-26 08:02:04

Redis內(nèi)存數(shù)據(jù)庫
點贊
收藏

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

主站蜘蛛池模板: 国产一区二区在线播放 | 精品亚洲一区二区三区 | 色婷婷久久综合 | 国产精品久久久久久久久免费 | 伦理午夜电影免费观看 | 一区二区免费 | 中文字幕一区二区三区四区 | 91久久久久久 | 久久久久久影院 | 91精品国产综合久久久久久漫画 | 欧美福利 | 国产一区二区三区在线 | 91免费视频观看 | 亚洲精品一区二区三区中文字幕 | 国产精品日产欧美久久久久 | 国产精品日本一区二区不卡视频 | 成人免费在线视频 | 亚洲久久 | 中文字幕精品一区二区三区精品 | 久久精品国产精品青草 | 日本在线免费观看 | 九九热精品免费 | 一区二区视频在线 | 日韩精品视频在线 | 欧美精品一区二区三区在线播放 | 99国产在线 | 91精品久久久久久久久久 | 日韩精品一区二区三区在线播放 | 高清av一区 | 成人深夜福利 | 91久久久久久久久久久 | 一区二区福利视频 | 亚洲天堂免费在线 | 一区二区三区四区国产 | 五月婷婷亚洲 | 特级毛片| 成人av免费在线观看 | 国产精品不卡一区 | 中文字幕在线第一页 | 最新日韩av | 欧美精品99|