最近興趣使然寫了幾個Python庫,也發佈到了Pypi上,雖然沒什麼人下載,但本身在其餘機器上用着也會很方便。這裏我向你們介紹一下如何在Pypi上發表本身的Python庫。python
很顯然地要在Pypi上註冊一個帳號。git
原則上安裝了pip的環境都有setuptools,但並不影響你去嘗試升級一下它。github
pip install --upgrade setuptools
這是一個簡化將庫發佈到Pypi上流程的工具,具體的使用以後會講到。bash
pip install --upgrade setuptools
大名鼎鼎的requests庫的做者大神kennethreitz爲你們準備了一個倉庫做爲一個setup.py的很好的模板,固然你也能夠本身手寫setup.py。工具
git clone https://github.com/kennethreitz/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安裝。