Python-导入fastai会导致SyntaxError

时间:2018-11-12 08:22:26

标签: python machine-learning pytorch fast-ai

我正在尝试使用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版本。谁能给我一些指导?

1 个答案:

答案 0 :(得分:0)

以下形式的字符串:

f'{path}/*.*'

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

显然, fast-ai 是为Python3.6或更高版本编写的。

看看installation issues (you have to scroll down a bit)
您可以在我的系统受支持吗?下看到第一点:

  

Python:您需要安装python 3.6或更高版本

因此,恐怕更新您的python是解决问题的最简单方法!


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