从零搭建一个python轮子的流程讲解

概述

从零搭建一个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
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章