如何在Pypi上發表自己的Python庫

杜逸先發表於2017-11-03

背景

最近興趣使然寫了幾個Python庫,也釋出到了Pypi上,雖然沒什麼人下載,但自己在其他機器上用著也會很方便。這裡我向大家介紹一下如何在Pypi上發表自己的Python庫。


準備

註冊賬號

很顯然地要在Pypi上註冊一個賬號。

安裝必要的庫

setuptools

原則上安裝了pip的環境都有setuptools,但並不影響你去嘗試升級一下它。

pip install --upgrade setuptools複製程式碼

twine

這是一個簡化將庫釋出到Pypi上流程的工具,具體的使用之後會講到。

pip install --upgrade setuptools複製程式碼

克隆倉庫(推薦)

大名鼎鼎的requests庫的作者大神kennethreitz為大家準備了一個倉庫作為一個setup.py的很好的模板,當然你也可以自己手寫setup.py。

git clone  https://github.com/kennethreitz/setup.py複製程式碼

編碼

編輯setup.py

建議大家直接編輯之前的倉庫裡的setup.py, 只需要修改一些必要的配置就可以了。這是我最近編寫的庫condition_chain的配置。

...
# Package meta-data.
NAME = 'condition_chain'
DESCRIPTION = 'Process a series of conditional judgement with a chained call.'
URL = 'https://github.com/duyixian1234/condition_chain'
EMAIL = 'duyixian1234@outlook.com'
AUTHOR = 'Yixian Du'

# What packages are required for this module to be executed?
REQUIRED = [
    # 'requests', 'maya', 'records',
]
...複製程式碼

編寫核心程式碼

接下來我們就可以編寫自己的程式碼了,要注意原始碼資料夾(倉庫裡的my_package資料夾)的名字與setup.py裡配置的包名(Name)要一致。
另外在重新上傳之前我們要修改version.py裡的版本號,以免覆蓋了以前的上傳(相信會有人是需要之前版本的庫的)。
最終的程式碼結構

│  LICENSE
│  MANIFEST.in
│  README.rst
│  setup.py
│
└─condition_chain
        core.py
        __init__.py
        __version__.py複製程式碼

打包上傳

在setup.py的同級目錄下執行以下命令。

python setup.py sdist bdist_wheel複製程式碼

然後執行

twine upload dist/*複製程式碼

注意要輸入Pypi賬號和密碼。


大功告成

之後我們就可以在Pypi裡搜尋到自己的Python庫了,當然也可以直接通過pip安裝。

相關文章