-4

我正在尝试使用 fastai 设置 ML 模型,并且必须执行以下导入:

import fastai.models
import fastai.nlp
import fastai.dataset

fastai但是,它通过导入给了我以下错误。

Python 2.7.15rc1 (default, Apr 15 2018, 21:51:34) 
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import fastai.nlp
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/fastai/nlp.py", line 172
    if os.path.isdir(path): paths=glob(f'{path}/*.*')
                                                   ^
SyntaxError: invalid syntax

显然,其中的字符f导致glob(f'{path}/*.*')了错误。我通过删除修复了错误f,但库中似乎有很多这些错误fastai

我目前的想法是我使用了不正确的 python 版本。谁能给我一些指示?

4

1 回答 1

1

形状的字符串:

f'{path}/*.*'

被称为f-strings并在 Python3.6 中引入。这就是为什么你会得到SyntaxError- for 版本低于 Python3.6 的原因SyntaxError,因为这种语法在较低版本中不存在。

所以很明显fast-ai是为 Python3.6 或更高版本编写的。

当您查看安装问题时(您必须向下滚动一点)
您可以在“我的系统是否支持?”下看到 第一点:

Python:你需要有 python 3.6 或更高版本

所以恐怕更新你的python是解决问题的最简单方法!


如果您想了解有关 f 字符串的更多信息,可以在这里查看:https ://www.python.org/dev/peps/pep-0498/

于 2018-11-12T08:55:18.960 回答