Импорт gcsfs в datalab выдает ошибку - PullRequest
2 голосов
/ 03 августа 2020

Когда я импортирую gcsfs в datalab,

import gcsfs

У меня недопустимая синтаксическая ошибка, связанная с пакетом fsspe c. Это как-то связано с версиями


  File "/usr/local/envs/py3env/lib/python3.5/site-packages/IPython/core/interactiveshell.py", line 2961, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)

  File "<ipython-input-3-3f25f74e3f1b>", line 1, in <module>
    import gcsfs

  File "/usr/local/envs/py3env/lib/python3.5/site-packages/gcsfs/__init__.py", line 5, in <module>
    from .core import GCSFileSystem

  File "/usr/local/envs/py3env/lib/python3.5/site-packages/gcsfs/core.py", line 7, in <module>
    import fsspec

  File "/usr/local/envs/py3env/lib/python3.5/site-packages/fsspec/__init__.py", line 10, in <module>
    from .mapping import FSMap, get_mapper

  File "/usr/local/envs/py3env/lib/python3.5/site-packages/fsspec/mapping.py", line 2, in <module>
    from .core import url_to_fs

  File "/usr/local/envs/py3env/lib/python3.5/site-packages/fsspec/core.py", line 314
    out[0] = (f"{out[0][1]}://", out[0][1], out[0][2])
                              ^
SyntaxError: invalid syntax


Ответы [ 2 ]

0 голосов
/ 05 сентября 2020

Чтобы расширить ответ Claros, основная проблема - это пакет fsspe c, от которого наследуется gcsfs. В последней версии fsspe c 0.8.0 реализованы f-строки, что и вызывает ошибку. Чтобы исправить это, просто установите последнюю версию fsspe c, которая по-прежнему поддерживает Python 3.5, т.е.

!pip install fsspec==0.6.2

https://pypi.org/project/fsspec/0.6.2/

У вас также может быть для понижения версии gcsfs. Получил работать с

!pip install  --upgrade gcsfs==0.5.3
0 голосов
/ 04 августа 2020

Вы используете Python 3.5, а f-строки - это функция, реализованная в Python 3.6. Либо вы найдете совместимую версию вашего пакета с Python 3.5, либо вы обновитесь до Python 3.6 +.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...