背景
最近興趣使然寫了幾個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安裝。