這操作厲害:怎麼樣發佈你的 Python模塊給別人 “pip install”

學習Python的朋友應該都知道,當我們需要使用某些功能的時候,都會去安裝一些第三方的模塊,比如 “pip install requests”,感覺都被別人裝了,你有沒有想過,自己搞一個模塊,給別人直接 pip install 到他的電腦裡面直接使用呢?是不是突然就很厲害!

這操作厲害:怎麼樣發佈你的 Python模塊給別人 “pip install”

我們思考著,如果打包自己的代碼呢?然後給別人用,pipi呢?

我們進入主題:

先要打一個 Python 包到 pypi 上,是需要一定的目錄結構的,首先我們可以創建一個目錄,作為演示,我在這裡創建一個包:

<code>mkdir shuaib_package 
/<code>

接著我們就進入這個包:

<code>cd shuaib_package/ 
/<code>

接著我們在這個目錄下創建一個存放你代碼的目錄,這裡就叫 xiaoshuaib 好了:

<code>mkdir xiaoshuaib 
/<code>

我們進入這個目錄:

<code>cd xiaoshuaib/ 
/<code>

創建你的代碼,這裡為了演示,我就創建一個 xiaoshuaib.py 好了 :

<code>touch xiaoshuaib.py 
/<code>

在這個 py 裡面就簡單寫一個輸出的方法好了:

插一句:想要Python資料的可以關注小編,並在後臺私信小編:“01”即可領取。

這操作厲害:怎麼樣發佈你的 Python模塊給別人 “pip install”

在這個 xiaoshuaib 目錄下還必須要創建一個 __init__.py 來告訴別人你的模塊是啥:

<code>touch __init__.py 
/<code>

在這個 __init__.py 寫下你的 name 和導入你的代碼模塊:

這操作厲害:怎麼樣發佈你的 Python模塊給別人 “pip install”

ok,此時此刻,你的文件目錄是這樣的:

這操作厲害:怎麼樣發佈你的 Python模塊給別人 “pip install”

只有這幾個文件還是不夠的,我們還要再創建幾個必要的文件,分別是 setup.py、LICENSE、READEME.md, 至於創建這幾個文件有什麼鳥用,等會帥b給你細細地道來,廢話不要那麼多,先創建再說:

<code>cd shuaib_package/ 
touch setup.py 
touch LICENSE 
touch README.md 
/<code>

那麼到現在這個時候,你的文件目錄應該是這樣的:

這操作厲害:怎麼樣發佈你的 Python模塊給別人 “pip install”

接下啦就跟你說說這幾個文件分別有什麼鳥用。

1、setup.py

這個文件主要是要告訴 setuptools ,我們的包裡面的一些信息,比如名稱啊,版本號啊,作者,郵箱等等...

這操作厲害:怎麼樣發佈你的 Python模塊給別人 “pip install”

這裡面對應的意思應該不用我多說了吧,就是一些你的模塊信息,像我這樣填入你自己的就好了。

2、README.md

在這裡就可以對你的模塊進一步各種吹了,剛我們寫的 setup 文件裡面也引用到了這個文件,主要是怕你吹的太多,所以直接用 markdown 讓你吹個夠,我們打開這個 README 文件吹一波:

這操作厲害:怎麼樣發佈你的 Python模塊給別人 “pip install”

好吧,我這裡作為演示就只吹這麼一點點夠了...

3、LICENSE

在開源的世界裡, LICENSE 是必不可少的,我們可以在這裡聲明:你要免費用我的代碼是吧?可以,但是你得署名一下啊,要讓別人知道這是我搞出來的啊,老子不要錢,但不能說這是你自己搞出來的好吧?

LICENSE 有好幾種不同的聲明,以後有機會帥b再跟你說說,這次就用 MIT 的 LICENSE ,我們編輯一下我們剛剛創建的 LICENSE:

這操作厲害:怎麼樣發佈你的 Python模塊給別人 “pip install”

好了,現在我們所需的文件就弄好了,接下來就可以將我們的東西給生成可分發的文件,在此之前我們要安裝並且更新好 setuptools 和 wheel 模塊:

<code>python3 -m pip install --user --upgrade setuptools wheel 
/<code>

安裝完成之後,你就可以在你剛剛創建的目錄執行以下命令生成啦:

<code>python3 setup.py sdist bdist_wheel 
/<code>

這時候你就會發現,你的目錄下會多了一個 dist 的目錄,這正是 pypi 所需要的

這操作厲害:怎麼樣發佈你的 Python模塊給別人 “pip install”

萬事具備,就差 tm 的上傳了啊,那麼你現在就要有一個 pypi 的賬號,你可以到以下鏈接註冊一個賬號:

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

如果說你只想自己試著小打小鬧一下,可以到這裡註冊一個測試版的:

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

這操作厲害:怎麼樣發佈你的 Python模塊給別人 “pip install”

不管咋地,反正你遲早會註冊好一個賬號的對吧?值得注意的是,你要驗證下你的郵箱,代表你不是機器人註冊的賬號:

這操作厲害:怎麼樣發佈你的 Python模塊給別人 “pip install”

那麼此時此刻,你所需的文件也有了,賬號也有了,這次就真的只差上傳一個動作了,我們需要 twine 這個模塊來進行上傳操作,先安裝一下:

<code>python3 -m pip install --user --upgrade twine 
/<code>

安裝好了之後,相信我,一點也不復雜,一個命令就能搞定上傳,進入你的目錄,然後執行以下命令把你剛剛生成的 dist 上傳上去:

<code>twine upload dist/* 
/<code>
這操作厲害:怎麼樣發佈你的 Python模塊給別人 “pip install”

這樣,我們就將我們的模塊上傳上去了!!

去官網搜一下 xiaoshuaib 先:

這操作厲害:怎麼樣發佈你的 Python模塊給別人 “pip install”

哈哈哈哈,有了,我們來安裝一波吧:

<code>pip install xiaoshuaib 
/<code>
這操作厲害:怎麼樣發佈你的 Python模塊給別人 “pip install”

安裝成功,來使用一波:

這操作厲害:怎麼樣發佈你的 Python模塊給別人 “pip install”

哈哈哈,完美使用。

ok,以上就是從 0 到 發佈一個 pypi 包的完整流程,希望對你有幫助,記得點“贊”。


分享到:


相關文章: