Использование нескольких версий Python

У меня есть оба Python 3.3 и Python 2.7, установленные на моем компьютере. Python 3.3 работает отлично, но когда я пытаюсь запустить что-то с помощью python 2.7, он все еще ссылается на python 3.3.

Например: если я наберу F:\Python33\python33.exe test1.py, он будет работать с 3.3 и работать нормально, но если я наберу F:\Python27\python27.exe test1.py, он даст следующую ошибку:

File "F:\PYTHON33\LIB\site.py", line 173
    file=sys.stderr)
        ^
SyntaxError: invalid syntax

Примечание. Я переименовал Python 2.7 и 3.3.exe в python27.exe и python33.exe соответственно.

Любая помощь будет оценена, спасибо.

Ответ 1

Результаты поиска Google вернули несколько полезных ресурсов, которые отвечают на вашу проблему.

Документы Python

Документация на Python (http://docs.python.org/3.3/using/windows.html#python-launcher-for-windows) дает краткий обзор работы нескольких версий на одном компьютере.

Первым вариантом будет включение вашей версии python в файл, который вы хотите выполнить, используя что-то вдоль строк

#! python
Ваш код здесь

Для выполнения в Python 2 или

#! python3
Ваш код здесь

Для запуска кода в версии Python 3. Затем вы просто будете использовать "python yourscript.py", а версия python будет указана в Python script.

Сайты StackExchange

Есть несколько других вопросов, которые могут решить проблему, с которой вы сталкиваетесь:
Как установить Python 2.x и Python 3.x в Windows 7

Или для Ubuntu 13: Ubuntu 13.04 Установка и запуск Python 3 одновременно, чем Python 2.7.x

Или для Mac с помощью Homebrew: Как я могу использовать Homebrew для установки Python 2 и 3 на Mac?
И видео-ссылка для Mac без Homebrew: http://www.youtube.com/watch?v=c9LlK2iu7OA

Ответ 2

Вы получите ошибку, если установлена многоязычная версия python

Файл "F:\PYTHON33\LIB\site.py", строка 173   Файл = sys.stderr)       ^ Ошибка синтаксиса: неверный синтаксис

Чтобы устранить эту проблему, удалите набор предыдущих версий python в системной переменной среды enter image description here

Ответ 4

Изменение исполняемых файлов не является вариантом для всех, и удаление может привести к нарушению программ, зависящих от этой установки Python.

Мой ответ здесь не гарантирует, что вы можете запускать обе версии бок о бок без проблем, но я смог разрешить это без каких-либо серьезных изменений.

В моем случае проблема заключалась в том, что переменные среды PYTHONPATH и PYTHONHOME были установлены на путь установки 3.x, тогда как мне нужно было использовать установку 2.x. Замена этих переменных окружения на путь 2.x и перезапуск оболочки были приемлемым обходным решением для меня.

Ответ 5

Установка переменной среды PYTHONPATH в ничто не устранила эту проблему для меня.

Ответ 6

Я получил это исправление, удалив знак = и просто сохраняя как sys.stderr