Я пишу простой hello.py с кодом, использующим синтаксис Python 2.7 и Python 3. ENV 2.7 выполняет код только с синтаксисом Python 3 и возвращает ошибку в коде строка написана в синтаксисе 2.7.
Почему это?
Означает ли это, что я не могу использовать синтаксис 2.7 в этом env вообще?
Как я могу это исправить?
Я установил Anaconda с python 3 (база).
Я ПОПРОБОВАЛ В АНАКОНДЕ ПОДСКАЗКА:
Я открыл Anaconda Prompt, успешно установил другой env с
conda create --name py27 python=2.7
затем активировал его с помощью
conda activate py27
результат, ожидаемый в
>>>(py27) C:\Users\...
Команда
python -V
также возвращается как ожидалось
>>>Python 2.7.15 :: Anaconda, Inc.
Мой hello.py содержит эти две строки кода
print 'hello 2.7' #This is python 2.7 syntax
print ('hello 3') #This is python 3 syntax
Я ПЫТАЛСЯ В ANACONDA SPYDER:
Я запустил hello.py в Anaconda Spyder на базе (root) и на py27.
РЕЗУЛЬТАТЫ В АНАКОНДЕ ПОДСКАЗКА:
Я ожидал ошибку в строке 2 для команды печати, написанной в синтаксисе python 3. Вместо этого: когда выполняется ее в Anaconda Prompt, я получаю ошибку
print 'hello 2.7'
^
SyntaxError: invalid syntax
РЕЗУЛЬТАТЫ В ANACONDA SPYDER:
Spyder на py27 печатал обе строки без ошибок, хотя я ожидал одну правильную строку и одну ошибку.
Spyder на базе (root) дал мне ожидаемую синтаксическую ошибку.