#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