基于 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文档 ...
随机推荐
- 爬虫3 requests基础2 代理 证书 重定向 响应时间
import requests # 代理 # proxy = { # 'http':'http://182.61.29.114.6868' # } # res = requests.get('http ...
- execution(* com.sample.service.impl..*.*(..))
execution(* com.sample.service.impl..*.*(..)) 解释如下: 符号 含义 execution() 表达式的主体: 第一个”*“符号 表示返回值的类型任意: c ...
- 发布xxl-job executor dotnet core 执行器的实现
DotXxlJob [github][https://github.com/xuanye/DotXxlJob] xxl-job的dotnet core 执行器实现,支持XXL-JOB 2.0+ 1 X ...
- 转载:ThreadPoolExecutor 源码阅读
前言 之前研究了一下如何使用ScheduledThreadPoolExecutor动态创建定时任务(Springboot定时任务原理及如何动态创建定时任务),简单了解了ScheduledThreadP ...
- Oracle DB
索引 一.安装 卸载 一.安装 1.Oracle首先询问用户是否接受更新信息,一般选择不接受:Oracle安装选项,需为其配置数据库,所以此处会询问是否创建安装数据库,选择是系统类型,一般选择服务 ...
- PSD的单位及计算方法[转]
功率谱密度(PSD)的国际单位 功率谱密度(PSD),单位为:unit^2/Hz代表单位频率上信号的能量,所以是密度谱,幅值代表频段内的有效值平方. 如果是加速度功率谱密度,加速度的单位是m/s^ ...
- webstorm过期最新激活方法
打开webstorm 注册时,在打开的License Activation窗口中选择“License server”,在输入框输入下面的网址:http://idea.iteblog.com/key.p ...
- Kotlin基础(五)Kotlin的类型系统
Kotlin的类型系统 一.可空类型 //s为null的话编译器会报错,没问号不能为空 fun strLen(s : String)=s.length //如果允许s为空可: fun strLen2( ...
- Ghostscript 将PDF文件转换成PNG图片 问题一二
由于项目需求,需要将原来的PDF文档转换成图片文件,在网上找了一些PDF转图片的方法:测试了几个后,都有这样或那样的问题 1.PDFLibNet.dll,这个类型最初还是挺好用的,能转图片和HTML, ...
- Python基础-字符串、集合类型、判断、深拷贝与浅拷贝、文件读写
字符串 1.定义三个变量: 2.交换两个变量值 1)引入第三个变量: 2)Python引入第三方变量: 3)不引入第三方变量: 3. isalpha 是否是汉字或字母 4.Isalnum 是否是汉字 ...