1. 程式人生 > >如何在Pypi上發表自己的Python庫

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

record 註意 esc code com script ... rip 大神

背景

最近興趣使然寫了幾個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 = [email protected]‘
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安裝。

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