如何在Pypi上發表本身的Python庫

背景

最近興趣使然寫了幾個Python庫,也發佈到了Pypi上,雖然沒什麼人下載,但本身在其餘機器上用着也會很方便。這裏我向你們介紹一下如何在Pypi上發表本身的Python庫。python


準備

註冊帳號

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

安裝必要的庫

setuptools

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

pip install --upgrade setuptools

twine

這是一個簡化將庫發佈到Pypi上流程的工具,具體的使用以後會講到。bash

pip install --upgrade setuptools

克隆倉庫(推薦)

大名鼎鼎的requests庫的做者大神kennethreitz爲你們準備了一個倉庫做爲一個setup.py的很好的模板,固然你也能夠本身手寫setup.py。工具

git clone  https://github.com/kennethreitz/setup.py

編碼

編輯setup.py

建議你們直接編輯以前的倉庫裏的setup.py, 只須要修改一些必要的配置就能夠了。這是我最近編寫的庫condition_chain的配置。ui

...
# 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裏的版本號,以避免覆蓋了之前的上傳(相信會有人是須要以前版本的庫的)。
最終的代碼結構this

│  LICENSE
│  MANIFEST.in
│  README.rst
│  setup.py
│
└─condition_chain
        core.py
        __init__.py
        __version__.py

打包上傳

在setup.py的同級目錄下運行如下命令。編碼

python setup.py sdist bdist_wheel

而後運行code

twine upload dist/*

注意要輸入Pypi帳號和密碼。ip


大功告成

以後咱們就能夠在Pypi裏搜索到本身的Python庫了,固然也能夠直接經過pip安裝。

相關文章
相關標籤/搜索