概述
從零搭建一個python的輪子,並上傳到github和pypi上,提供自動化測試、說明文檔和相關的一些東西,方便大家使用。
主要涉及到的內容:
- 在github上創建倉庫
- 編寫項目
- 編寫測試模塊
- 使用readthedocs
- 註冊到pypi
- 獲取一些重要的徽標
在github創建倉庫
這塊很簡單,網上全是教程。略
編寫項目
略
編寫測試模塊
測試模塊一般python主要使用pytest進行編寫,其目的是保證你的代碼沒有bug。
這塊很重要,保證代碼質量的。具體使用請參考:pytest官方文檔
使用readthedocs
創建readthedocs頁面
#安裝需要的控件
pip install sphinx sphinx-autobuild sphinx_rtd_theme
#在項目根目錄初始化
sphinx-quickstart
#初始化之後,會增加一個sources文件夾,裏面有個config配置文件
#增加markdown支持(一般用markdown多一點)
from recommonmark.parser import CommonMarkParser
source_parsers = {
'.md': CommonMarkParser,
}
source_suffix = ['.rst', '.md']
#修改主題
import sphinx_rtd_theme
html_theme = "sphinx_rtd_theme"
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
# 增加一句話,防止版本異常導致readthedocs編譯失敗
master_doc = 'index'
#修改完畢之後運行
make html
使用make html
之後,會生成build文件夾,裏面就是頁面,你可以先查看一下,如果沒問題就全部推上去。
在readthedocs顯示
先訪問 readthedocs官網.
註冊並登陸
導入一個項目
選擇一個代碼庫,點擊後方的加號導入
然後就可以構建自己的文檔了。
點擊build version併到最後完成構建
注意:這裏有個徽章,之後會用到
註冊到pypi
先到pypi註冊一個你的賬戶:
然後在根目錄編寫setup.py文件
範例如下(如果涉及到編譯或更復雜的請參考官方文檔):
from setuptools import setup, find_packages
setup(
name="Shirley",
version="0.1",
description="基於fastapi的web框架",
author="Chise",
author_email="[email protected]",
packages=find_packages(),
include_package_data=True,
platforms="any",
python_requires=">=3.7", # Python版本依賴
install_requires=[
'fastapi',
'tortoise-orm',
'uvicorn',
'pyjwt',
'passlib[bcrypt]',
'python-multipart',
'bcrypt',
], # 第三方庫依賴
)
然後執行:
#檢查包是否能正常打包
python setup.py check
# 打包
python setup.py sdist
# 註冊包(如果已經註冊就不用了)
twine register dist/*
# 上傳包
twine upload dist/*
基本上就可以通過pip安裝了(注意國內源和官方源有時差,不會立即註冊)
增加徽標
先把之前readthedocs的徽標粘貼到reademe.md的前面去
在Travis註冊賬戶並綁定項目,然後再項目頁面複製動態徽標並粘貼到readme.md