Python - импорт результатов fastai в SyntaxError - PullRequest
0 голосов
/ 12 ноября 2018

Я пытаюсь настроить модель ML с помощью fastai и должен выполнить следующие операции импорта:

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 голосов
/ 12 ноября 2018

Струны в форме:

f'{path}/*.*'

называются f-строками и были введены в Python3.6. Вот почему вы получаете SyntaxError - для версий ниже Python3.6 значение SyntaxError будет повышено, так как этот синтаксис просто отсутствует в более низких версиях.

Очевидно, что fast-ai запрограммирован для Python3.6 или выше.

Если взглянуть на проблемы с установкой (нужно немного прокрутить) ,
под Поддерживается ли моя система? первая точка:

Python: вам нужен Python 3.6 или выше

Так что, боюсь, обновление вашего питона - это самый простой способ решить проблему!


Если вы хотите узнать больше о f-струнах, вы можете посмотреть здесь: https://www.python.org/dev/peps/pep-0498/

...