基于 Python 官方 GitHub 构建 Python 文档
最近在学 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 文档的更多相关文章
- linux centos7 安装虚拟Python环境,pyenv安装文档
python多版本控制pyenv安装文档 1.在线安装: curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-i ...
- Python处理PDF和Word文档常用的方法
Python处理PDF和Word文档的模块是PyPDF2,使用之前需要先导入. 打开一个PDF文档的操作顺序是:用open()函数打开文件并用一个变量来接收,然后把变量给传递给PdfFileReade ...
- 分享一下自己写的Python 3的各种PDF文档【花了半年时间那】
这些文档花了我半年的时间去整理.因为是第一次进行整理,希望帮助后来者少走弯路.毕竟是第一次整理.哪些地方不到位,希望大家和我练习,我们一起把它做好,以下就直接给出下载地址了,都是免积分的下载奥.因此. ...
- 使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解(新手必学)
为大家介绍下Python爬虫库BeautifulSoup遍历文档树并对标签进行操作的详细方法与函数下面就是使用Python爬虫库BeautifulSoup对文档树进行遍历并对标签进行操作的实例,都是最 ...
- Spring Boot中使用Swagger2构建API文档
程序员都很希望别人能写技术文档,自己却很不愿意写文档.因为接口数量繁多,并且充满业务细节,写文档需要花大量的时间去处理格式排版,代码修改后还需要同步修改文档,经常因为项目时间紧等原因导致文档滞后于代码 ...
- springboot+mybatis-puls利用swagger构建api文档
项目开发常采用前后端分离的方式.前后端通过API进行交互,在Swagger UI中,前后端人员能够直观预览并且测试API,方便前后端人员同步开发. 在SpringBoot中集成swagger,步骤如下 ...
- springboot利用swagger构建api文档
前言 Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件.本文简单介绍了在项目中集成swagger的方法和一些常见问题.如果想深入分析项目源码,了解更多内容,见参考资料. S ...
- 喜大普奔!GitHub中文版帮助文档上线了!
日前,GitHub 文档的简体中文正式发布,开发者可以到官方文档上随意查阅浏览中文文档啦! 对于想要玩 GitHub,但一直苦于英语水平较差的程序员来说,这真是一个天大的好消息.下面一起来感受一下 ...
- springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验--异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档---jpa访问数据库及page进行分页---整合redis---定时任务
springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验-- 异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档 ...
随机推荐
- Codeforces 208A-Dubstep(字符串)
Vasya works as a DJ in the best Berland nightclub, and he often uses dubstep music in his performanc ...
- 如何让自己的Dev C++用上C++11,c++14标准
首先确保Dev C++版本是最新的5.11版 其实用C++11和C++14标准的语法去运行还是会出现结果的,最多warning一下 但完美主义者是不允许这样的 我们可以点击菜单栏的“工具”-> ...
- C++学习之 —— 输入输出
案例:输入任意空格和数字,输出其中的数字之和. #include <iostream> using namespace std; int main() { ; cout << ...
- python 数据结构之二叉树
二叉树关键在构建和遍历,python实现相对简单,我们在实现需要用到类,分别设置爱左右子树,根节点,然后从根进行遍历,进行判断,若为空进行树的构建,非空则返回到列表中即可,我在进行遍历时产生了一个错误 ...
- python数据结构之插入排序
插入排序(英语:Insertion Sort)是一种简单直观的排序算法.它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入.插入排序在实现上,在从后向前扫描 ...
- Xamarin Essentials教程陀螺仪Gyroscope
Xamarin Essentials教程陀螺仪Gyroscope 陀螺仪是用来检测设备在X.Y.Z轴上所旋转的角速度.应用程序通过陀螺仪可以获取设备在各个方向的转动角速度,可以实现更为丰富的控制功 ...
- Java发邮件基础篇
1. 电子邮件协议 电子邮件的在网络中传输和网页一样需要遵从特定的协议,常用的电子邮件协议包括 SMTP,POP3,IMAP.其中邮件的创建和发送只需要用到 SMTP协议,所以本文也只会涉及到SMTP ...
- Django构建简介
MVC框架 MVC:Model View Controller,是软件工程中的一种软件构架模式,把软件系统分为三个基本模型,具有耦合性低.重用性高.生命周期成本低等优点 Model:模型,操作数据库 ...
- HDU 2002 计算球体积
题目链接:HDU 2002 Description 根据输入的半径值,计算球的体积. Input 输入数据有多组,每组占一行,每行包括一个实数,表示球的半径. Output 输出对应的球的体积,对于每 ...
- keras 的svm做分类
SVC继承了父类BaseSVC SVC类主要方法: ★__init__() 主要参数: C: float参数 默认值为1.0 错误项的惩罚系数.C越大,即对分错样本的惩罚程度越大,因此在训练样本中准确 ...