Мой 2.7 env выполняет только синтаксис Python 3 - PullRequest
0 голосов
/ 17 января 2019

Я пишу простой 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) дал мне ожидаемую синтаксическую ошибку.

...