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