如何阻止 pydoc 在 f 字符串上出错?
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
并检查脚本可能会帮助您确认这一点。)为确保您是 运行 pydoc with Python3.6+,请尝试
/path/to/python3.6 -m pydoc test
好吧,事实证明我的问题很微不足道。 @unutbu在评论里指出了,后来又回复了。我需要通过 Python 3.6 或更高版本 运行 pydoc
脚本。
对我来说:python3 -V
returns Python 3.7.3
.
所以 运行ning:python3 -m pydoc 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
我正在使用 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
并检查脚本可能会帮助您确认这一点。)为确保您是 运行 pydoc with Python3.6+,请尝试
/path/to/python3.6 -m pydoc test
好吧,事实证明我的问题很微不足道。 @unutbu在评论里指出了,后来又回复了pydoc
脚本。
对我来说:python3 -V
returns Python 3.7.3
.
所以 运行ning:python3 -m pydoc 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