Как мне заставить sphinx использовать Python 3 в качестве переводчика? - PullRequest
0 голосов
/ 11 июня 2018

Я строю документацию с помощью sphinx.Я использую conda установку и у меня есть py27 и py36 версия 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 активен).Я подозреваю, что это может пахнуть хаосом, но я не могу заставить сфинкса использовать мой интерпретатор python 3.

Так как мне заставить sphinx использовать Python 3 в качестве переводчика?

Редактировать

также узел Я видел этот вопрос и установил python3-sphinx

1 Ответ

0 голосов
/ 12 июня 2018

При использовании установщика 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
...