关注我的last year's question文档,我现在想要开始并尝试基于Python的Sphinx,以便汇总我一直在研究的PHP CMS的开发人员文档。< / p>
我不想在我的工作站上本地设置Python,而是希望从一开始就在可公开访问的Web服务器上运行它。我有权访问LAMP堆栈上的所有Web托管包,我不愿意购买基于Python的托管。我对Google App Engine非常感兴趣,他们提供的免费配额将为我做一百次,即使没有,他们的定价看起来也很合理。
现在我对Python一无所知 - 让Sphinx工作是我第一次接触它 - 而且时间很短。据我所知,App Engine提供的平台和python库与标准Python库非常兼容,但不是相同的。
所以我的问题是:
Sphinx可以在App Engine上运行吗?
在App Engine上安装Sphinx就像我在普通的Python安装上安装它一样简单吗?或者,App Engine的环境是否需要调整我在当前Python级别上无法在合理时间内执行的源代码?
我应该首先在本地服务器和“普通”Python堆栈上安装Sphinx吗?
有人知道任何有用的操作方法,教程或其他资源吗?
答案 0 :(得分:6)
您根本不需要在GAE上安装Sphinx。
您使用Sphinx创建静态HTML,CSS和JS的目录。完成此步骤后,您只需上传Sphinx的输出 - 完整。
Sphinx(HTML,CSS和JS)的输出只需从一个地方 >>。您将文档从创建它的位置上传到GAE作为静态文件并提供它们。完成。
Sphinx根本没有“在Web服务器上安装”的方面。 Sphinx不是一个Web应用程序;它不会在您的Web服务器上运行。您可以在开发中简单地运行它以将文档发布到HTML,LaTeX或其他任何内容。一旦创建了静态HTML文件,就不再需要Sphinx的任何部分了。
Sphinx可以在App Engine上运行吗?
我想它可以,但你永远不需要。
在App Engine上安装Sphinx 像......一样直截了当。
没关系,因为你没有在那里安装它。您将它安装在工作站上并在工作站上使用它。
我应该安装Sphinx吗? 本地服务器和“普通”Python 首先堆叠?
请勿将其安装在服务器上。将它安装在您的工作站上。
有人知道任何有用的 操作方法,教程或其他资源 对此?
如果“this”表示“在Web服务器上安装”,则回答为“no”。一个不会将其安装在Web服务器上。因此,没有“在Web服务器上安装”的操作方法,教程或资源。
如果用“this”表示“用Sphinx创建文档”,那么答案就是“http://sphinx.pocoo.org出了什么问题?他们缺少什么?”
我想要Sphinx的“引擎” 转动输入(由reST组成) 文件)到HTML / CSS / JS中 从任何地方都可以访问我 (以及可能的其他贡献者) 独立于特定的 工作站。
Sphinx就像一个编译器。每个人都在自己的工作站上有自己的副本。他们下载文档源,进行更改,提交源更改,并上传生成的文档。
提供生成的文档 同一个地方。
正确。下载源代码,进行更改,重新生成文档并提交更改后,您上传生成的文档,以便从一个地方(仅一个地方)提供服务。
Sphinx是一个编译器。它不是“网络引擎”。它是一个简单的编译器,只需将您的文档编译为HTML,即可提供服务。
答案 1 :(得分:3)
有趣的项目!您将遇到的主要问题是文件系统访问:App Engine上的文件系统是只读的,并且基于查看源代码,Sphinx相当硬编码以使用文件系统进行输出。它还希望从本地文件系统读取配置文件和输入文件,这将使得与应用程序捆绑的项目之外的任何东西构建文档都很棘手。
可以解决这个问题,但是需要编写一个使用App Engine数据存储区的简单虚拟文件系统,并使用monkeypatching使其与常规Python文件一起使用接口。对于“新到Python”项目而言,这是相当先进的!
如果您正在考虑允许用户上传要记录的项目,您可能还需要考虑另一件事:Sphinx配置文件是用Python编写的,因此执行它可能很危险 - 用户可能会对您的应用程序执行令人讨厌的事情恶意配置文件!
答案 2 :(得分:1)
根据我的经验,本地部署dev_appserver
和远程appcfg
之间的区别仅限于我执行的两个命令中的哪一个。那就是说,我对Sphinx没有经验。
答案 3 :(得分:1)
Sphinx编译文档,在网络服务器上运行它就像在网络服务器上运行gcc一样有意义。