目录
- 概述
- 在github创建仓库
- 编写项目
- 编写测试模块
- 使用readthedocs
- 创建readthedocs页面
- 在readthedocs显示
- 注册到pypi
- 增加徽标
概述
从零搭建一个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="chise123@live.com",
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
# 注册包(如果已经注册就不用了)
python setup.py register
# 上传包
twine upload dist/*
基本上就可以通过pip安装了(注意国内源和官方源有时差,不会立即注册)
增加徽标
先把之前readthedocs的徽标粘贴到reademe.md的前面去
在Travis注册账户并绑定项目,然后再项目页面复制动态徽标并粘贴到readme.md