[英]How to stop pydoc from erroring out on f-strings?
我正在使用pydoc
自动生成文档。 我的代码是为Python 3.6编写的。
它会因以下错误而出错: <type 'exceptions.SyntaxError'>: invalid syntax
。 每当我使用f-string
时,它就会发生。
你能帮我弄清楚为什么吗?
当我运行which pydoc
我得到: /usr/local/bin/pydoc
样例代码
这是一些示例代码,称为test.py
:
"""This is a docstring."""
def my_method():
"""Another docstring."""
print(
f"This is a really really really really really really really really "
f"really really really really really long string."
)
pass
结果
当我在上面运行pydoc test
时,输出为: problem in ./test.py - <type 'exceptions.SyntaxError'>: invalid syntax (test.py, line 7)
。 注意:此行是f-string
。
当(从ipython
内部)我说: help('test')
,这是输出:
Help on module test:
NAME
test - This is a docstring.
FUNCTIONS
my_method()
Another docstring.
FILE
/Users/james.braza/code/wpi-aladdin-syringe-pump/test.py
因此,自动文档适用于Python的help()
但不适用于pydoc
。
pydoc可执行文件是一个脚本,可能正在调用其他版本的Python。 (运行which pydoc
并检查脚本可能会帮助您确认这一点。)为确保您使用python3.6 +运行pydoc,请尝试
/path/to/python3.6 -m pydoc test
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.