python - 如何为 Google App Engine 项目构建 sphinx(阅读文档)文档?

标签 python google-app-engine python-sphinx read-the-docs

我有一个名为 gaend 的 Google App Engine 项目。我正在尝试使用 readthedocs 为其构建更好的文档。我用过

> sphinx-quickstart

构建我的基础 sphinx 项目。随后

> sphinx-apidoc -o . ../gaend

生成项目的API列表。然后我运行

sphinx-autobuild . _build/html

+--------- manually triggered build ---------------------------------------------
| Running Sphinx v1.5.2
| loading pickled environment... done
| building [mo]: targets for 0 po files that are out of date
| building [html]: targets for 0 source files that are out of date
| updating environment: 0 added, 1 changed, 0 removed
| reading sources... [100%] gaend
/Users/stephen/gaend/docs/gaend.rst:10: WARNING: autodoc: failed to import module u'gaend.bigquery'; the following exception was raised:
Traceback (most recent call last):
File "/Users/stephen/.virtualenvs/gaend/lib/python2.7/site-packages/sphinx/ext/autodoc.py", line 551, in import_object
__import__(self.modname)
File "/Users/stephen/gaend/gaend/bigquery.py", line 1, in <module>
   from google.cloud import bigquery
ImportError: No module named google.cloud
...
ImportError: No module named google.appengine.ext

我发现问题在于它无法访问 Google Cloud SDK。我在运行单元测试时遇到了类似的问题,解决方法是 runner.py 。但是,这依赖于我的系统上的某个位置是否有 Google Cloud SDK(安装了 Python Google App Engine 模块)。我如何在 readthedocs 上获取 Google Cloud SDK(和 Python GAE)构建我的文档的服务器?

最佳答案

我遇到了同样的问题,我不记得在哪里找到了解决方案,也许无法解决您的问题,但我通过添加 google_appengine 文件夹和 google_appengine/的路径解决了我的问题Sphinx doc 文件夹内源文件夹中 conf.py 文件中的 lib/yam/lib 文件夹,如下所示:

conf.py中:

sys.path.insert(0, os.path.abspath('../../'))
sys.path.insert(1, '<your local full path>/google_appengine')
sys.path.insert(1, '<your local full path>/google_appengine/lib/yaml/lib')

if 'google' in sys.modules:
    del sys.modules['google']

我知道相对路径会更好,但它对我有用。

Sphinx 需要运行您正在记录的程序,我不太明白,但无论如何,它是一个很好的工具。

关于python - 如何为 Google App Engine 项目构建 sphinx(阅读文档)文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42138672/

相关文章:

python - 如何在 python 中解压键值对?

python - 计算/可视化 Tensorflow Keras Dense 模型层与输出类的相对连接权重

java - 如果需要复合索引,有没有办法将 Java Google App Engine SDK 的测试配置为失败?

java - 将 Appengine 应用程序从旧的 Google 插件迁移到 Google 工具时如何修复错误?

python - 使用 readthedocs.org 使用的静态 Assets 进行本地 Sphinx 构建的简单方法是什么?

python - 一种更快的分离图像绿色 channel 的方法

python - 在两个进程之间共享全局变量

Python Sphinx css 无法在 github 页面上运行

java - 实现 Servlet,用于识别请求者并发送浏览器的动态 html 或仅发送移动/桌面应用程序的信息

python - 在 Sphinx 中禁用语法突出显示(Alabaster 主题)