Получение недопустимого синтаксиса при запуске python в ubuntu

#python #ubuntu

#питон #ubuntu

Вопрос:

Я протестировал скрипт с помощью spyder в Windows 10, и он отлично сработал. Теперь я пытаюсь запустить его на виртуальном хосте Ubuntu, и он выдает недопустимую синтаксическую ошибку.

Версия python Python 3.5.2 (последняя версия, которую я получаю после ее обновления). Версия Ubuntu

 Description:    Ubuntu 16.04.7 LTS
Release:        16.04
Codename:       xenial
 

Я знаю, что он устарел, но я не могу обновить его сам…

Обрезанный код, дающий проблемы для начала, — это всего лишь простой:

 # Begin of time period. Format: YYYY-mm-dd
date_from = f'{year}-01-01'
 

Я тестирую его с помощью «python my_file.py »

Ответ №1:

F-строки могут использоваться только Python 3.6 и выше, как указано в новых функциях Python 3.6:

Новые возможности В PEP 498 представлен новый вид строковых литералов: f-строки, или форматированные строковые литералы. Форматированные строковые литералы имеют префикс ‘f’ и аналогичны строкам формата, принимаемым str.format(). Они содержат поля замены, заключенные в фигурные скобки. Поля замены представляют собой выражения, которые вычисляются во время выполнения, а затем форматируются с использованием протокола format():

Чтобы исправить это, вы можете использовать str.format() вместо этого: date_from = '{}-01-01'.format(year) или вы могли бы обновить свой Python: sudo apt install python3.7