Использование нескольких версий 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]()
Ответ 3
Если вы хотите использовать разные версии Python, попробуйте что-то вроде VirtualEnv.
UPDATE:
Дополнительная тема для вас: Использовать другую версию Python с virtualenv
Ответ 4
Изменение исполняемых файлов не является вариантом для всех, и удаление может привести к нарушению программ, зависящих от этой установки Python.
Мой ответ здесь не гарантирует, что вы можете запускать обе версии бок о бок без проблем, но я смог разрешить это без каких-либо серьезных изменений.
В моем случае проблема заключалась в том, что переменные среды PYTHONPATH
и PYTHONHOME
были установлены на путь установки 3.x, тогда как мне нужно было использовать установку 2.x. Замена этих переменных окружения на путь 2.x и перезапуск оболочки были приемлемым обходным решением для меня.
Ответ 5
Установка переменной среды PYTHONPATH
в ничто не устранила эту проблему для меня.
Ответ 6
Я получил это исправление, удалив знак = и просто сохраняя как sys.stderr