最近在学 Python,所以总是在看 Python 的官方文档, https://docs.python.org/2/

因为祖传基因的影响,我总是喜欢把这些文档保存到本地,不过 Python 的文档实在是太多, 根本存不过来。后来追踪到 Python 官方的 GitHub 文档地址, 干脆就把官方的 GitHub 下载下来了:cpython GitHub 地址


1. 下载 Python 的 GitHub 仓库:cpython
从 GitHub 上 clone 仓库很简单,在命令行中执行命令 git clone git@github.com:python/cpython.git 就可以啦。

不过因为 Python 的 cpython 仓库比较大,一时半会儿下载不完, 我在 clone 到本地的时候出现了网络问题,进度条卡住不动了。 根据之前的经验,此时如果我直接 Ctrl + C 退出 clone, 那么下载了一半的文件,就会被 git 删除,这是不好的。

所以我选择的是在另一个命令窗口里面,先把下载了一半的文件完全 cp 一份, 然后再到卡住的窗口里面,把正在执行的 git clone 命令给 Ctrl + C 了。

杀掉 git 命令后,ls 看当前的目录,之前下载了一半的那些文件果然又双叒不见了。 不过幸好刚刚做了备份。进到备份的目录里面,执行 git pull 命令,居然能够断点续传。这是好的。


2. 构建 Python 文档
clone 完了 Python 的仓库,下面就可以构建文档了。 要说 Python 社区做的文档真是不错,基本不需要复杂的操作, 就可以把 Python 的文档构建出来,真是不服都不行。

2.1 构建 epub 格式的文档
做这个的目的是希望在上下班的路上,可以在手机上方便的查看 Python 文档, 就当看电子书了,还能学英语。

进入 cpython 项目的目录里面:cd cpython

因为刚刚 clone 下来,项目的目录里面是空的,需要我们 checkout 一个分支出来。 可以先看看都有哪些分支,执行命令 git branch -a

[root@fengbo cpython]$ git branch -a
remotes/origin/2.7
remotes/origin/3.4
remotes/origin/3.5
remotes/origin/3.6
remotes/origin/aleaxit-patch-
remotes/origin/master

因为我现在使用的是 Python2.7 ,所以执行命令 git checkout 2.7 就可以检出 2.7 分支的代码啦。

检出完成后,进入 Doc 目录,然后执行命令 make epub 就可以制作 epub 格式的 Python 文档电子书了。

[root@fengbo Doc]# git checkout 2.7

Switched to branch '2.7'

[root@fengbo Doc]# make epub

sphinx-build -b epub -d build/doctrees -D latex_elements.papersize= . build/epub

...

build succeeded.

Build finished; the epub files are in build/epub.

构建完成后,文件会被放在 cpython/Doc/build/epub/Python.epub 的位置。

其实在构建 epub 的时候报了很多错误,比如缺少 sphinx 包。 缺什么包安装什么就可以了,不会安装的就去百度查查怎么安装。

epub 文件的下载地址:

链接:https://pan.baidu.com/s/1o9JJFeE 密码:kczx

2.2 构建 html
构建 html 的用途,是建立一个本地的 Python 文档网站,和 https://docs.python.org/2/ 一样的那种。

构建 html 和构建 epub 一样,也是到 cpython/Doc 里面。 不过这次是执行命令 make html就可以了。

[root@fengbo Doc]# make html

sphinx-build -b html -d build/doctrees -D latex_elements.papersize= . build/html

Running Sphinx v1.6.6

build succeeded.

Build finished. The HTML pages are in build/html.

不过构建 html 的结果,是一个目录 cpython/Doc/build/html,而目录里面就是 .html 的文件啦。

这个目录直接就可以作为网站的根目录来使用,也可以扔到网站的某个子目录里面。

下面是我构建后的效果:py.fengbohello.top/2/


同步发表:https://www.fengbohello.top/archives/python-build-doc

基于 Python 官方 GitHub 构建 Python 文档的更多相关文章

  1. linux centos7 安装虚拟Python环境,pyenv安装文档

    python多版本控制pyenv安装文档 1.在线安装: curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-i ...

  2. Python处理PDF和Word文档常用的方法

    Python处理PDF和Word文档的模块是PyPDF2,使用之前需要先导入. 打开一个PDF文档的操作顺序是:用open()函数打开文件并用一个变量来接收,然后把变量给传递给PdfFileReade ...

  3. 分享一下自己写的Python 3的各种PDF文档【花了半年时间那】

    这些文档花了我半年的时间去整理.因为是第一次进行整理,希望帮助后来者少走弯路.毕竟是第一次整理.哪些地方不到位,希望大家和我练习,我们一起把它做好,以下就直接给出下载地址了,都是免积分的下载奥.因此. ...

  4. 使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解(新手必学)

    为大家介绍下Python爬虫库BeautifulSoup遍历文档树并对标签进行操作的详细方法与函数下面就是使用Python爬虫库BeautifulSoup对文档树进行遍历并对标签进行操作的实例,都是最 ...

  5. Spring Boot中使用Swagger2构建API文档

    程序员都很希望别人能写技术文档,自己却很不愿意写文档.因为接口数量繁多,并且充满业务细节,写文档需要花大量的时间去处理格式排版,代码修改后还需要同步修改文档,经常因为项目时间紧等原因导致文档滞后于代码 ...

  6. springboot+mybatis-puls利用swagger构建api文档

    项目开发常采用前后端分离的方式.前后端通过API进行交互,在Swagger UI中,前后端人员能够直观预览并且测试API,方便前后端人员同步开发. 在SpringBoot中集成swagger,步骤如下 ...

  7. springboot利用swagger构建api文档

    前言 Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件.本文简单介绍了在项目中集成swagger的方法和一些常见问题.如果想深入分析项目源码,了解更多内容,见参考资料. S ...

  8. 喜大普奔!GitHub中文版帮助文档上线了!

    日前,GitHub 文档的简体中文正式发布,开发者可以到官方文档上随意查阅浏览中文文档啦!   对于想要玩 GitHub,但一直苦于英语水平较差的程序员来说,这真是一个天大的好消息.下面一起来感受一下 ...

  9. springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验--异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档---jpa访问数据库及page进行分页---整合redis---定时任务

    springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验-- 异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档 ...

随机推荐

  1. jstl select <c:if test下拉菜单不能被选中!

    关于select下拉菜单中出现中文时,因为编码的问题,不能用“==”来进行判断,必须要用“eq”,而且中文带上单引号: <select id="operateType" na ...

  2. Idea中在代码顶部添加自定义作者和时间

    一.在工具栏找到File=>settings=>Editor=>File and Code Templates 二.选择右边的File Header,在编辑框中添加自定义信息,例如: ...

  3. 实现Java简单继承

    面向对象练习-简单继承 一.完成教师类的创建 说明: id 代表身份证号 name 表示姓名 birth 表示出生日期 title 表示职称(讲师,副教授,教授等) 二.完成学生类的创建 说明: ma ...

  4. Sunscreen POJ - 3614(贪心)

    To avoid unsightly burns while tanning, each of the C (1 ≤ C ≤ 2500) cows must cover her hide with s ...

  5. 002.Kickstart部署之NFS架构

    一 准备 1.1 完整架构:Kickstart+DHCP+NFS+TFTP+PXE 1.2 组件应用 Kickstart服务端IP:172.24.8.12 DHCP:提供客户端IP,网关,镜像路径等: ...

  6. 网页布局之grid属性图

  7. CCF-炉石传说

    #include<cstdio> typedef struct { int attack,health; } cus; cus info[][]; ]; ; void summon(); ...

  8. Java笔记(十七) 异步任务执行服务

    异步任务执行服务 一.基本原理和概念 一)基本接口 1)Runnable和Callable:表示要执行的异步任务. 2)Executor和ExecutorService:表示执行服务. 3)Futur ...

  9. python基础一 ------可迭代对象和迭代器对象

    可迭代对象和迭代器对象:前者生成后者 比喻:10个硬币都可以一一数(迭代),放入到存钱罐(可以取钱的那种),那这个存钱罐就是一个迭代器对象 需求:从网络抓取各个城市气温信息,并依次显示若依次抓取较多的 ...

  10. [JOISC2014]友だちをつくろう

    [JOISC2014]友だちをつくろう 题目大意: 一个\(n(n\le10^5)\)个点,\(m(m\le2\times10^5)\)条边的有向图.对于两个点\(i,j\),如果存在一个点\(k\) ...