
Просто вопрос новичка, я обновил python с 2.7.10 до python 3.7.3. Запустил несколько скриптов, но ничего больше не работает. Поэтому в базу ввел этот код для проверки:
a=("hello world")
print(a)
и все равно получаю ошибку
MacBook-Pro-van-Gijs-2:visual code studio Gijs$ print(a)bash: syntax error near unexpected token `a'
также со скриптами как:
name = input("Give me your name: ")
print("Your name is " + name)
Я получил:
MacBook-Pro-van-Gijs-2:visual code studio Gijs$ print("Your name is " + name)
bash: syntax error near unexpected token `"Your name is "'
Может ли мне кто-нибудь помочь? Это действительно расстраивает.
решение1
Итак, здесь есть две (независимые?) проблемы:
Python 2.x и 3.x несовместимы. Были внесены изменения в синтаксис и библиотеки, которые означают, что вы не можете запустить скрипт 2.x на 3.x или наоборот и ожидать, что он будет работать. Вы можете рассматривать эти два языка как разные, но родственные. Для этого вам следует, как правило,никогдаудалите любую версию Python, которая идет с системой, и вместо этого установите другие основные версии бок о бок. Удаление существующих версий, как правило, нарушает системные скрипты (во многих дистрибутивах Linux).
- Если вы не программист и хотите только запустить существующий скрипт, вам следует установить правильную версию Python для этого скрипта. Если это скрипт Python 2, оставайтесь в ветке Python 2.
Ваша ошибка исходит от
bash
. Это говорит о том, что вы не запускаете свой код на Python, а на Bash. Я бы посоветовал вам попробовать запустить командуpython
(или, может быть,python3
), чтобы получить приглашение Python, и посмотреть, сработает ли это в первую очередь. В зависимости от того, как вы установили Python, вполне возможно, что этоpython
сопоставляется только с Python 2, и вам нужна более явнаяpython3
команда, чтобы получить 3.- Как только вы выясните, правильно ли установлен у вас Python, вы сможете разобраться, почему конфигурация запуска Visual Studio Code пытается запустить неправильный интерпретатор, и настроить ее на запуск правильного.