如何让sphinx将Python 3用作解释器?

时间:2018-06-11 14:37:28

标签: python-3.x python-2.7 python-sphinx

我用sphinx构建文档。我使用了conda设置,并在我之间切换了py27py36版本的python。运行sphinx-build ./source ./build时出现以下错误:

WARNING: /home/b3053674/Documents/pytseries/docs/source/index.rst:14: (WARNING/2) autodoc: failed to import module u'pytseries.core'; the following exception was raised:
Traceback (most recent call last):
  File "/home/b3053674/anaconda2/lib/python2.7/site-packages/sphinx/ext/autodoc.py", line 657, in import_object
    __import__(self.modname)
  File "/home/b3053674/Documents/pytseries/pytseries/core.py", line 193
    ts = TimeSeries(**args, feature=self.feature)
                          ^

请注意,**args是一个字典,我的测试都没有给出语法错误。

再看一遍后,看起来我的Python 3项目的文档是用python2.7解释器构建的(即使我的py36 env处于活动状态)。我怀疑这可能会造成严重破坏,但我无法使用sphinx来使用我的python 3解释器。

那么我怎样才能让sphinx使用Python 3作为解释器呢?

修改

此节点我看到this问题,并已安装python3-sphinx

1 个答案:

答案 0 :(得分:0)

使用“Anaconda3”安装程序,默认情况下应该可以使用。

其他,来自https://conda.io/docs/user-guide/tasks/manage-pkgs.html#installing-packages

conda install sphinx -n py36_env

其中py36_env是Python 3环境的名称。

可替换地,

python3 -m pip install --user sphinx

应该也可以。

然后,编辑Makefile以替换行

SPHINXBUILD   = sphinx-build

通过

SPHINXBUILD   = python3 -m sphinx