win7离线安装sphinx

在线安装Sphinx是比较简单,已经在ubuntu系统中尝试过,现在就介绍一下在win7系统中离线安装Sphinx的方法。

一、当然是先安装python,我安装的是3.8.1版本;

二、下载Sphinx以及Sphinx所依赖的包,在命令行中输入pip download sphinx,就在当前目录中下载了Sphinx以及Sphinx所依赖的包,但这下载到的Sphinx是最新版本的,如果希望下载到的是历史版本,可以执行pip download sphinx-2.2.1,即下载2.2.1版本。

三、现在就是对Sphinx以及Sphinx所依赖的包进行安装,由于包比较多,我单独建一个文件requirements.txt,用于存放所有要安装的包,该文件的内容如下:

win7离线安装sphinx_第1张图片

四、执行命令pip install --no-index -f ./ -r requirements.txt,即把当前目录中的whl包进行安装。

五、通过sphinx-quickstart创建项目,使用make html能正常生成html网页,没问题,然而,在index.rst中包含中文字符时,生成的html文件中的对应位置是问号,即无法识别中文字符。网上查了一下原因,windows下默认识别的是GB2312,linux下又只是识别UTF-8。于是,我把conf.py文件中的source_encoding 置为 'GB2312',即:source_encoding = 'GB2312'。在make html后,生成的html正常显示中文。

六、经过第五步,能正常显示中文,但是却无法搜索到中文字符,其解决办法如下:

1、安装jieba。可以使用pip download jieba下载jieba,也可以到官网上下载jieba,下载后进入jieba目录,执行python jieba.py install进行安装。

2、安装sphinx中文搜索插件,下载的地址为https://raw.githubusercontent.com/bosbyj/sphinx.search.zh_CN/master/zh_CN.py,将插件zh_CN.py放到sphinx的search目录中,我的相应目录为C:\Users\wchw1011\AppData\Local\Programs\Python\Python38\Lib\site-packages\sphinx\search。然后在search目录的__init__.py文件的languages中添加'zh_CN': 'sphinx.search.zh_CN.SearchChinese',即:

win7离线安装sphinx_第2张图片

3、重新通过sphinx-quickstart来创建项目,相应的,在当前项目中的conf.py文件中添加language = 'zh_CN'。

4、生成html后,能够顺利的搜索到中文字符,如下:

win7离线安装sphinx_第3张图片

 

 

你可能感兴趣的:(技术问题解决,sphinx)