我正在尝试使用Sphinx为我的python项目生成文档。我正在运行的命令是:
sphinx-quickstart
sphinx-apidoc -o rst .
make html但是,在执行最后一个命令时,我得到以下错误:
Traceback (most recent call last):
File "C:\winpython-3.5.2.3-win64\python-3.5.2.amd64\lib\site-p
ackages\sphinx\__main__.py", line 14, in <module>
sys.exit(main(sys.argv))
File "C:\winpython-3.5.2.3-win64\python-3.5.2.amd64\lib\site-p
ackages\sphinx\__init__.py", line 51, in main
sys.exit(build_main(argv))
File "C:\winpython-3.5.2.3-win64\python-3.5.2.amd64\lib\site-p
ackages\sphinx\__init__.py", line 61, in build_main
from sphinx import cmdline
File "C:\winpython-3.5.2.3-win64\python-3.5.2.amd64\lib\site-p
ackages\sphinx\cmdline.py", line 14, in <module>
import optparse
File "C:\winpython-3.5.2.3-win64\python-3.5.2.amd64\lib\optpar
se.py", line 421, in <module>
_builtin_cvt = { "int" : (_parse_int, _("integer")),
File "C:\winpython-3.5.2.3-win64\python-3.5.2.amd64\lib\gettex
t.py", line 514, in gettext
return dgettext(_current_domain, message)
File "C:\winpython-3.5.2.3-win64\python-3.5.2.amd64\lib\gettex
t.py", line 478, in dgettext
codeset=_localecodesets.get(domain))
File "C:\winpython-3.5.2.3-win64\python-3.5.2.amd64\lib\gettex
t.py", line 413, in translation
mofiles = find(domain, localedir, languages, all=True)
File "C:\winpython-3.5.2.3-win64\python-3.5.2.amd64\lib\gettex
t.py", line 385, in find
for nelang in _expand_lang(lang):
File "C:\winpython-3.5.2.3-win64\python-3.5.2.amd64\lib\gettex
t.py", line 114, in _expand_lang
loc = locale.normalize(loc)
AttributeError: module 'locale' has no attribute 'normalize'我已经检查过是否有其他的locale.py文件,但是我找不到。此外,在我自己的脚本中,我可以导入locale并调用normalize。
我使用的是python 3.5
发布于 2017-09-24 10:19:24
为了解决这个问题,我创建了一个Python环境,并在该环境中安装了sphinx。
然后,我在该环境中运行:
make html而且它工作得很完美。
我认为这是Python版本的问题,或者可能与其他包混淆。
发布于 2017-11-24 23:08:26
在我的电脑上更新sphinx解决了这个问题。
在我的例子中,我运行了conda install sphinx
https://stackoverflow.com/questions/44797474
复制相似问题