-
前提:1.我已经在自己的gitee fork了 mindspore的主仓 https://gitee.com/mindspore/mindspore.git 和 doc仓:https://gitee.com/mindspore/docs.git 分别对应 https://gitee.com/zhanghui_china/mindspore.git 和 https://gitee.com/zhanghui_china/docs.git 2.我已经在 https://gitee.com/zhanghui_china/mindspore.git 仓建立了 zhanghui 分支,并修改了 python API函数注释(该注释可以被sphinx生成文档)3.在 https://bbs.huaweicloud.com/forum/thread-113495-1-1.html 一文中,版主大大提到了 可以自行构建 文档环境。git clone https://gitee.com/mindspore/docs.git使用Sphinx工具,在 docs\docs\api_python\目录下执行make html,生成 build_zh_cn 的API文档目录。这些都可以生成。但是有个问题:因为docs仓跟mindspore仓是两个仓库。mindspore仓的 zhanghui分支的修改,在哪里进行配置,才能让make html 从 https://gitee.com/zhanghui_china/mindspore.git 仓库对应的 mindspore/ mindspore / common / initializer.py 文件 生成html?还盼望指点一下。
-
# Sphinx输出MindSpore教程PDF文档操作指南 - [Sphinx输出MindSpore教程PDF文档操作指南](#sphinx输出mindspore教程pdf文档操作指南) - [概述](#概述) - [整体流程](#整体流程) - [环境依赖](#环境依赖) - [环境准备](#环境准备) - [本地环境准备](#本地环境准备) - [Docker环境准备](#docker环境准备) - [修改配置文件](#修改配置文件) - [输出PDF文档](#输出pdf文档) - [本地输出PDF文档](#本地输出pdf文档) - [使用Docker输出PDF文档](#使用docker输出pdf文档) - [注意事项](#注意事项) - [结语](#结语) `python-sphinx` `xelatex` `pdf` ## 概述 MarkDown——作为一种轻量级标记语言,允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档。由于Markdown的轻量化、易读易写特性,并且对于图片,图表、数学公式都有支持,目前许多网站都广泛使用Markdown来撰写帮助文档或是用于论坛上发表消息。固然输出HTML版本的教程用户可以很方便的查阅,但是却不具有印刷风格的阅读体验,不便于存档保存,更不能用于印刷发行。作为业界流行的文档输出工具,[Sphinx](https://www.sphinx-doc.org/en/master/index.html)从2.0.0版本开始已经支持使用[xelatex](https://www.overleaf.com/learn/latex/XeLaTeX)引擎,我们可以利用[xelatex](https://www.overleaf.com/learn/latex/XeLaTeX)很方便的输出高质量的印刷版本的PDF文档。关于Sphinx的基本使用可参考[《windows环境下配置sphinx输出html文档》](https://bbs.huaweicloud.com/forum/thread-57862-1-1.html),接下来我们通过输出[MindSpore推理教程](https://www.mindspore.cn/tutorial/inference/zh-CN/master/index.html)PDF中文文档为例,介绍如何使用Sphinx输出PDF文档。 ### 整体流程 ![流程.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202009/30/125052xvb5ugbgmjqsh8xl.png) ### 环境依赖 - python3 - sphinx: 版本高于2.0.0 - ubuntu:需有make编译工具 ## 环境准备 > 我们可以通过本地安装依赖或利用Docker Hub两种方式完成相关环境的配置: ### 本地环境准备 在安装有python3和具有[make编译](https://www.gnu.org/software/make/)能力的ubuntu系统(推荐使用ubuntu系统来解决相关依赖问题)上,执行以下命令,安装xelatex和sphinx。 1. 安装sphinx及相关依赖。 将[MindSpore推理教程](https://www.mindspore.cn/tutorial/inference/zh-CN/master/index.html)的[源文件](https://gitee.com/mindspore/docs/tree/master/tutorials/inference)下载到本地后,进入到该目录下: ```shell inference ├── Makefile ├── requirements.txt ├── source_en │ ├── conf.py │ ├── index.rst │ ├── multi_platform_inference_ascend_310.md │ ├── multi_platform_inference_ascend_910.md │ ├── multi_platform_inference_cpu.md │ ├── multi_platform_inference_gpu.md │ ├── multi_platform_inference.md │ ├── serving.md │ └── _static └── source_zh_cn ├── conf.py ├── index.rst ├── multi_platform_inference_ascend_310.md ├── multi_platform_inference_ascend_910.md ├── multi_platform_inference_cpu.md ├── multi_platform_inference_gpu.md ├── multi_platform_inference.md ├── serving.md └── _static ``` 执行以下命令安装sphinx: ```shell $ pip install -r requirements.txt ``` 2. 安装xelatex。 使用apt管理器执行以下命令安装xelatex引擎(整体约为3G大小,用时较久,请耐心等待): ```shell $ sudo apt-get install texlive-lang-chinese \ graphviz \ imagemagick \ make \ latexmk \ lmodern \ texlive-latex-recommended \ texlive-latex-extra \ texlive-fonts-recommended \ texlive-fonts-extra \ texlive-lang-cjk \ texlive-luatex \ texlive-xetex \ texlive-latex-extra-doc ``` ### Docker环境准备 我们也可以使用Docker安装所需的环境。详细可参考<https://github.com/sphinx-doc/docker>。 执行以下命令从Docker Hub获取sphinx镜像: ```shell $ sudo docker pull sphinxdoc/sphinx-latexpdf:2.4.4 ``` ## 修改配置文件 进入到本地MindSpore推理教程源文件目录,配置文件位置为`source_zh_cn/config.py`, 在末尾添加如下所示代码: ```python latex_engine = 'xelatex' latex_use_xindy = False latex_elements = { 'preamble': '\\usepackage[UTF8]{ctex}\n', 'papersize': 'a4paper', 'pointsize': '10pt', } latex_toplevel_sectioning = None latex_domain_indices = True latex_show_pagerefs = False latex_logo = '{logo_path}' master_doc = 'index' ``` - 其中`logo_path`为封面logo图像的路径。 更多的配置选项参考<https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-latex-output>进行自定义配置。 ## 输出PDF文档 ### 本地输出PDF文档 进入到本地MindSpore推理教程源文件`inference`目录下,执行以下命令生成PDF文档: ```shell $ make latexpdf ``` 输出完成后,会在当前目录下生成`build_zh_cn`目录,且生成的PDF文档位置为`./build_zh_cn/latex/mindspore.pdf`(输出的PDF文件已上传为附件)。 ### 使用Docker输出PDF文档 进入到本地MindSpore推理教程源文件`inference`目录下,执行以下命令启动Sphinx容器,生成PDF文档: ```shell $ docker run --rm -v {mindspore_inference_tutorial_path}:/docs sphinxdoc/sphinx-latexpdf make latexpdf ``` - 其中`mindspore_inference_tutorial_path`为本地MindSpore推理教程源文件目录的路径。 输出完成后,会在当前目录下生成`build_zh_cn`目录,且生成的PDF文档位置为`./build_zh_cn/latex/mindspore.pdf`。 ### 注意事项 - 需要从源文件中去除引入了视频相关的MarkDown文档; - 需要从源文件中去除引入了JIF格式图片的MarkDown文档; ## 结语 Sphinx作为优秀的技术文档输出的开源工具,用户可以方便的利用其输出多种格式的文档,但打铁还需自身硬,如何创建高质量的技术文档源文件才是才是技术人员最应该关心的,例如内容要抓住重点、贴切用户、易懂,引用的相关图片要合理,文档版本要随着产品迭代更新。高质量的技术文档,加上流行易用的文档解析工具,一定能给用户带来最好的体验。
-
看视频,还可参与回帖互动领好礼活动!快来参与吧:https://bbs.huaweicloud.com/forum/thread-59291-1-1.html从零代码开始,10分钟快速开发一个可以发送弹幕的网站,并将其部署在华为云服务器上;学完本期教程,将可以知道如何使用Nginx、如何将自己的网站部署到云服务器上,还可以免费学习WEB前端全栈教程,各位小伙伴们一起来学习吧~,传送门--->WEB前端全栈成长计划开发思路 首先是让弹幕的随机高度出现,这个计算方法是:最大高度=屏幕的高度-发送div的高度-弹幕本身的高度,范围就是 0-最大高度了,弹幕总是从右往左移动,所以出现最右侧的位置计算方法是:最右侧位置=屏幕的宽度-弹幕本身的宽度;接下来就是设置随机颜色,颜色按照‘#aabbcc’这种格式,利用Math.random()随机数生成;最后是弹幕的发送,首先是获取输入框中的值,然后新创建一个div,并设置随机颜色、位置等属性,调用init() 函数。 总结如下步骤: 1、获取弹幕对象:随机高度、初始化颜色 2、水平期间设置范围:浏览器宽度-弹幕对象的高度 3、移动功能函数:定时器 setInterval 4、实现用户发表弹幕用到的知识点 1、首先页面搭建,就是这些东西是如何摆放的——html+css布局 2、弹幕字体的位置和样色设置——css样式 3、可以输入文字然后点击可以发送弹幕——按钮的点击事件 4、字体可以旋转——css动画 5、弹幕字体可以从右往左滑动——js控制字体对象的style属性代码块style代码 <style type="text/css"> * { margin: 0; padding: 0; } .screen { width: 100%; height: 100%; position: absolute; top: 0; left: 0; } .send { width: 100%; height: 76px; background: #333; position: absolute; bottom: 0; left: 0; text-align: center; line-height: 76px; } .send .s_txt { width: 600px; height: 36px; border: 0; border-radius: 3px 0 0 3px; font-size: 16px; line-height: 36px; } .send .s_sub { width: 100px; height: 37px; background: #65c33d; border: 0; font-size: 14px; color: #fff; border-radius: 0 3px 3px 0; cursor: pointer; } .send .s_sub:hover { background: #3eaf0e; } .screen div { position: absolute; top: 76px; left: 0; font-size: 22px; color: red; } .magictime { animation-duration: 1s; animation-name: magictime; } @keyframes magictime { 0% { opacity: 0; transform-origin: 100% 0; transform: scale(0, 0) rotate(360deg) translateY(100%); } 30% { transform-origin: 100% 0; transform: scale(0, 0) rotate(360deg) translateY(100%); } 100% { opacity: 1; transform-origin: 0 0; transform: scale(1, 1) rotate(0deg) translateY(0); } } </style>弹幕滚动div代码<div class="screen"> <div>这是一条弹幕!</div> <div>这是另一条弹幕!</div> <div>老黄最帅~~~</div> <div>没错,这又是一条弹幕!</div> <div>这里都是弹幕</div> <div>前方高能!!!</div> </div>发送弹幕div代码<div class="send"> <input type="text" class="s_txt" /> <input type="button" id="send_sub" value="发表评论" class="s_sub" /> </div>javascript逻辑代码<script> var oShowList = document.querySelectorAll('.screen div') var oShow = document.querySelector('.screen') var oSend = document.querySelector('.send') var oText = document.querySelector('.s_txt') var oBtn = document.querySelector('#send_sub') oBtn.onclick = function () { var oDiv = document.createElement('div') oDiv.innerHTML = oText.value; oDiv.className = 'magictime'; oShow.appendChild(oDiv) init(oDiv) oText.value = '' } for (var i = 0; i < oShowList.length; i++) { init(oShowList); } function init(obj) { var screenHeight = document.documentElement.clientHeight;//获取浏览器高度 var screenWidth = document.documentElement.clientWidth;//获取浏览器宽度 var sendHeight = oSend.clientHeight; var maxTop = screenHeight - sendHeight - obj.clientHeight; var maxLeft = screenWidth - obj.clientWidth; obj.style.top = Math.random() * maxTop + 'px' obj.style.left = maxLeft + 'px' obj.style.color = randomColor() move(obj, maxLeft) } function randomColor() { var color = '#'; for (var i = 0; i < 6; i++) { color += Math.floor(Math.random() * 16).toString(16) } return color; } function move(obj, maxLeft) { maxLeft -= 3; if (maxLeft > -obj.clientWidth) { obj.style.left = maxLeft + 'px' requestAnimationFrame(function () { move(obj, maxLeft) }); } else { oShow.removeChild(obj) } } </script>安装部署首先领取一个月的免费服务器,如果通过我这里注册,还可以领取200元的代金券,可多购买两个月的服务器 领取地址 ,然后系统选择Ubuntu 18.04 server 64bit,设置密码,领取后按照以下步骤初始化:首先修改一下安全组,点击控制台-弹性云服务器,点击实例名字点击安全组-更改安全组添加以下端口配置在网页上远程登录也可以通过xshell登录,用户名为root,密码为之前设置的,如果忘了可以选择重置系统安装nginx# 更新一下系统 apt-get update # 安装: apt-get install nginx # 安装上传工具 apt install lrzsz配置nginx# 上传弹幕的文件 cd /var/www/htm/ rz # 选取弹幕网页文件 index.html,可在附件下载 # 启动: nginx -c /etc/nginx/nginx.conf # 访问 访问自己的公网IP即可,老黄的是 http://124.70.138.209/好啦,以上就是开发一个可以发送弹幕网站的完整过程了,如果有什么疑问,欢迎在下面留言告诉老黄~
-
# 序言 [Sphinx](http://sphinx-doc.org/) 是一个基于 Python 的文档生成项目。最早只是用来生成 [Python](https://docs.python.org/3/) 的项目文档,使用 *reStructuredText* 格式。但随着项目的逐渐完善,很多非 Python 的项目也采用 Sphinx 作为文档写作工具。 [特点](http://sphinx-doc-zh.readthedocs.org/en/latest/): - 丰富的输出格式: 支持输出为 HTML(包括 Windows 帮助文档),LaTeX(可以打印PDF版本), manual pages(man 文档), 纯文本等若干种格式; - 完备的交叉引用: 语义化的标签,并可以自动化链接函数、类、引文、术语等; - 明晰的分层结构: 轻松定义文档树,并自动化链接同级/父级/下级文章; - 美观的自动索引: 可自动生成美观的模块索引; - 精确的语法高亮: 基于 Pygments 自动生成语法高亮; - 开放的扩展: 支持代码块的自动测试,自动包含 Python 的模块自述文档 # 安装 ![flow.jpg](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202005/30/141938qbashkfud1k0ewmk.jpg) 可以通过**源码编译安装**或**使用包管理器**来安装Sphinx环境,在这里,我们通过PyPI使用pip命令安装Sphinx: * 在Linux或MacOS上 $ pip install -U sphinx * 在Windows上 C:\> pip install -U sphinx 安装完成后,在命令行输入`sphinx-build --version`可以看到Sphinx软件包的版本号 ![sphinx-build.JPG](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202005/30/142002sblxpvvfphwkfhts.jpg) * 可以安装最新版本,测试最新的特性 $ pip install -U --pre sphinx # 创建项目 ## ①. 新建项目 `cmd`命令行进入存放项目的根目录,使用命令`sphinx-quickstart`新建项目,根据提示分别输入项目信息和配置,操作流程如下图所示: ![quickstart.JPG](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202005/30/142021ajwkf2ml1unuzgwd.jpg) 提示信息为: 1. 是否分离源文件目录 `source` 和生成文件目录 `build`,默认否; 2. 模板目录 `templates` 和静态文件目录 `static` 前缀,默认为`_`; 3. 项目名称; 4. 项目作者; 5. 项目版本,默认为空; 6. 项目语言,默认为 `en`; 7. 文档扩展名,默认为 `.rst`; 8. 首页文件名,默认为 `index`; 9. 开启的扩展,均默认为否: 10. 生成 Makefile,默认是; 11. 生成 Windows 用命令行,默认是 项目新建后,查看生成的文件目录: ![生成文件目录.JPG](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202005/30/142057h3htjt7zvebqhxk4.jpg) 各文件或目录的功能为: - `Makefile`:可以看作是一个包含指令的文件,在使用 make 命令时,可以使用这些指令来构建文档输出。 - `build`:生成的文件的输出目录。 - `make.bat`:Windows 用命令行。 - `_static`:静态文件目录,比如图片等。 - `_templates`:模板目录。 - `conf.py`:存放 Sphinx 的配置,包括在 `sphinx-quickstart` 时选中的那些值,可以自行定义其他的值。 - `index.rst`:文档项目起始文件。 ## ②.执行命令`make html` 在项目根目录下执行命令`make html`,生成html资源文件: ![make html.JPG](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202005/30/142126pkwfq6xty8sijzus.jpg) 此时查看项目目录: ![make之后目录.JPG](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202005/30/142144oringzkrfenbztz6.jpg) 可以看到在build/html文件夹下,生成了html资源文件,打开index.html,可以看到初始化的大致网页框架: ![初始html.JPG](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202005/30/142212tyzltascfeqag2vs.jpg) ## ③. **修改配置文件[config.py](https://www.sphinx.org.cn/usage/configuration.html#project-information),添加自己的内容** - **以上初始化项目之后,需要添加自己的内容和配置信息,输出自己的文档** 这里以输出mindspore的html格式介绍文档为例,由于主要内容为markdown格式文挡,需要安装`recommonmark`模块儿: ``` pip install recommonmark ``` **添加内容**: 从[Gitee仓库中](https://gitee.com/mindspore/docs)下载markdown格式的说明文档,这里以api目录下的source_zh_cn为例 ![api_doc.JPG](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202005/30/173515yogcvdcald4qlbg9.jpg) 将`source_zh_cn`目录下载到本地,里面包含编写好的所有markdown文档,且已包含由**config.py和index.rst**配置文档,参考[修改配置信息](https://www.sphinx.org.cn/usage/configuration.html#project-information),本地目录结构如下图所示: ![添加内容.JPG](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202005/30/142229prssa2r81inio256.jpg) ## ④.生成文档 1. 首先修改由`quickstart`初始化生成的**make.bat**脚本文件,该文件内容为: ``` @ECHO OFF pushd %~dp0 REM Command file for Sphinx documentation if "%SPHINXBUILD%" == "" ( set SPHINXBUILD=sphinx-build ) set SOURCEDIR=source set BUILDDIR=build if "%1" == "" goto help %SPHINXBUILD% >NUL 2>NUL if errorlevel 9009 ( echo. echo.The 'sphinx-build' command wa not found. Make sure you have Sphinx echo.installed,then set the SPHINXBUILD environment viriable to point echo.to the full path of the 'sphinx-build' executable.Alternatively you echo.may add the Sphinx directory to PATH. echo. echo.if you don't have Sphinx installed,grab it from echo.http://sphinx-doc.org/ exit /b 1 ) %SPHINXBUILD% -M %1 %SOURCEDIR %BUILDDIR% %SPHINXOPTS% %O% goto end :help %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% :end popd ``` 在这里将SOURCEDIR和BUILDDIR修改为: set SOURCEDIR=source_zh_cn set BUILDDIR=build_zh_cn 2. 使用`make <type>`命令生成特定的文档格式,在这里我们生成html文件 执行`make html` ![make html2.JPG](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202005/30/1422474ewjqqverjrqitf7.jpg) 此时,生成了build_zh_cn目录,里面包含了html文档,打开build_zh_cn/html/indext.html,可以在浏览器中review生成的html页面。 # 总结 在整个过程中我们使用sphinx在windows环境下将多个markdown、reStructuredText说明文档进行链接,构建成为可读性更强的html文档,其中关键的是配置文件的修改和自定义内容格式。使用sphinx可以使得生成的文档更具有可读性和美化,因此推荐参考[官方应用案例](https://www.sphinx.org.cn/examples.html)和配置信息。
-
1、简介Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如Java,PHP,Python,Perl,Ruby等,同时为MySQL也设计了一个存储引擎插件。开源地址:http://sphinxsearch.com 2、基础环境类别子项版本获取地址(方法)华为云虚拟机KC1(920)--OSCentOS7.7Kernel4.14软件包sphinx2.2.11http://sphinxsearch.com/files/sphinx-2.2.11-release.tar.gz3、依赖安装 yum install gcc-c++ automake imake libl2-devel libxml2-devel expat-devel4、组件编译安装 wget http://sphinxsearch.com/files/sphinx-2.2.11-release.tar.gztar -zxvf sphinx-2.2.11-release.tar.gzcd sphinx-2.2.11-release./configuremake && make install5、系统配置 无 6、测试1) 创建“data”目录。mkdir /var/data2) 导入Sphnix的测试数据到MySQL中。mysql -uroot -p test < /usr/local/etc/example.sql3) 备份配置文件。cp /usr/local/etc/sphinx.conf.dist /usr/local/etc/sphinx.conf修改“sphinx.conf”文件,对应信息修改成如下内容:sql_host= localhost #服务器名sql_user= root #数据库账户名sql_pass= Huawei@123 #数据库密码sql_db= test #使用sphnix库名sql_port= 3306 #optional, default is 3306 注释掉下面内容sql_query_pre = SET NAMES utf84)创建测试索引文件。cd /usr/local/bin./indexer --all 5)启动Sphnix搜索服务器。./searchd 6)进入Sphnix解压后的文件夹中(假设为“/root/sphinx-2.2.11-release/”),并使用Sphnix安装包自带的API工具测试。cd /root/sphinx-2.2.11-release/apipython test2.py 回显结果如下:n=1, res=this is my <b>text</b> <b>test</b> to be highlighted n=2, res=this is another <b>test</b> <b>text</b> to be highlighted7、参考信息无8、FAQ无
-
1、简介Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如Java,PHP,Python,Perl,Ruby等,同时为MySQL也设计了一个存储引擎插件。开源地址:http://sphinxsearch.com2、基础环境类别子项版本获取地址(方法)华为云虚拟机KC1(920)--OSCentOS7.7Kernel4.14软件包sphinx2.2.11http://sphinxsearch.com/files/sphinx-2.2.11-release.tar.gz3、依赖安装 yum install gcc-c++ automake imake libl2-devel libxml2-devel expat-devel4、组件编译安装编译安装sphinxwget http://sphinxsearch.com/files/sphinx-2.2.11-release.tar.gztar -zxvf sphinx-2.2.11-release.tar.gzcd sphinx-2.2.11-release./configuremake && make install5、系统配置 无6、测试1) 创建“data”目录。mkdir /var/data2)导入Sphnix的测试数据到MySQL中。mysql -uroot -p test < /usr/local/etc/example.sql3)备份配置文件。cp /usr/local/etc/sphinx.conf.dist /usr/local/etc/sphinx.conf4)修改“sphinx.conf”文件,对应信息修改成如下内容:sql_host= localhost #服务器名sql_user= root #数据库账户名sql_pass= Huawei@123 #数据库密码sql_db= test #使用sphnix库名sql_port= 3306 #optional, default is 3306注释掉下面内容sql_query_pre = SET NAMES utf86)创建测试索引文件,启动Sphnix搜索服务器cd /usr/local/bin./indexer --all./searchd5)进入Sphnix解压后的文件夹中(假设为“/root/sphinx-2.2.11-release/”),并使用Sphnix安装包自带的API工具测试。cd /root/sphinx-2.2.11-release/apipython test2.py回显结果如下:n=1, res=this is my <b>text</b> <b>test</b> to be highlighted n=2, res=this is another <b>test</b> <b>text</b> to be highlighted7、参考信息https://www.huaweicloud.com/kunpeng/software/sphinx.html8、FAQ无
-
1、简介 Sphinx 是一个工具,它能够轻易地创建智慧和优雅的文档,出自Georg Brandl之手,在BSD许可证下授权。它能够把一组 reStructuredText 格式的文件转换成各种输出格式,而且自动地生成交叉引用,生成目录等。 类别:工具 官方链接:http://www.sphinx-doc.org 2、基础环境类别子项版本获取地址(方法)华为云虚拟机RC3(916)--OSCentOS7.6 Kernel4.14 软件包Sphinx2.2.11https://kojipkgs.fedoraproject.org//packages/sphinx/2.2.11/11.fc29/src/sphinx-2.2.11-11.fc29.src.rpm 3、依赖安装安装操作系统自带依赖软件版本4、组件编译安装1)安装epel-release 源yum install epel-release 进入/etc/yum.repos.d/epel.repo.rpmnewvim /etc/yum.repos.d/epel.repo.rpmnew写入如下内容[epel]name=Extra Packages for Enterprise Linux 7 - $basearchbaseurl=https://mirrors.huaweicloud.com/epel/7/$basearchfailovermethod=priorityenabled=1gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 [epel-debuginfo]name=Extra Packages for Enterprise Linux 7 - $basearch - Debugbaseurl=https://mirrors.huaweicloud.com/epel/7/$basearch/debugfailovermethod=priorityenabled=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7gpgcheck=0 [epel-source]name=Extra Packages for Enterprise Linux 7 - $basearch - Sourcebaseurl=https://mirrors.huaweicloud.com/epel/7/SRPMSfailovermethod=priorityenabled=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7gpgcheck=0使用:wq保存并退出2)安装rpmbuild命令yum install rpm-build -y3)从fedora网站下载源码包wget https://kojipkgs.fedoraproject.org//packages/sphinx/2.2.11/11.fc29/src/sphinx-2.2.11-11.fc29.src.rpm4)安装源码包rpm -ivh sphinx-2.2.11-11.fc29.fc29.src.rpm可能出现的问题:解决用户组的问题,因为在fedora编译的时候存在这个用户组,解决问题方法如下:解决mock问题后,直接安装rpm -ivh sphinx-2.2.11-11.fc29.src.rpm编译使用命令rpmbuild -ba ~/rpmbuild/SPECS/sphinx.spec出现如上所示需要安装的依赖包,使用yum源统一安装,使用yum安装所有依赖后,发现有两个包yum源中没有,重新rpmbuild –ba发现确实只缺这两个包,重复上述操作,从fedora网站下载mariadb和libpq-devel源码包,使用rpm -ivh安装mariadb然后 rpmbuild -ba ~/rpmbuild/SPECS/mariadb-connector-c.spec安装上述依赖包编译完成后可以看到src包编译出的所有相关rpm包安装我们上面依赖的包继续安装,yum install装对应包,装不上的继续重复上面的步骤;查询每个包的依赖包:继续安装,对于依赖包重复上述操作<img border="0" style="width: 835px; height: 309px;" src="https://bbs.huaweicloud.com/forum/data/attachment/forum/201907/21/word-f4e077ccefa248b3deac82534d87<span style="/>在/root/rpmbuild/RPMS/aarch64/中,可以查看rpm包,并进行安装编译好的包。5、系统配置无6、测试启动服务并查看服务状态测试结果:如下图,启动成功7、参考信息官方链接:http://www.sphinx-doc.org 8、FAQQ:为什么要下载src包?A:因为fedora上编出来的包使用的gcc版本都比较新 ,在centos7上会出现各种依赖冲突的问题。Q:在编译MariaDB时出现错误无法下载?A:两种方式解决问题:方案一:使用低版本https://kojipkgs.fedoraproject.org//packages/mariadb-connector-c/3.0.10/2.fc31/src/mariadb-connector-c-3.0.10-2.fc31.src.rpm方案二:配置文件中的%ldconfig_scriptlets替换为%post -p /sbin/ldconfig %postun -p /sbin/ldconfig
推荐直播
-
华为AI技术发展与挑战:集成需求分析的实战指南
2024/11/26 周二 18:20-20:20
Alex 华为云学堂技术讲师
本期直播将综合讨论华为AI技术的发展现状,技术挑战,并深入探讨华为AI应用开发过程中的需求分析过程,从理论到实践帮助开发者快速掌握华为AI应用集成需求的框架和方法。
去报名 -
华为云DataArts+DWS助力企业数据治理一站式解决方案及应用实践
2024/11/27 周三 16:30-18:00
Walter.chi 华为云数据治理DTSE技术布道师
想知道数据治理项目中,数据主题域如何合理划分?数据标准及主数据标准如何制定?数仓分层模型如何合理规划?华为云DataArts+DWS助力企业数据治理项目一站式解决方案和应用实践告诉您答案!本期将从数据趋势、数据治理方案、数据治理规划及落地,案例分享四个方面来助力企业数据治理项目合理咨询规划及顺利实施。
去报名
热门标签