Организация работы с Python версии 2 в системе Windows
Варианты установки Python 2 на Windows
Как установить Python 2.7 из официального дистрибутива, чтобы обеспечить базовую среду разработки?
Самый надёжный способ - загрузить установщик с python.org. Для Windows подходят версии 2.7.x (последняя - 2.7.18).
Шаги установки:
1. Открыть страницу https://www.python.org/downloads/release/python-2718/
2. Скачать установщик «Windows x86-64 MSI installer» (для 64‑бит) или «Windows x86 MSI installer» (для 32‑бит)
3. Запустить MSI-файл, выбрать «Install for all users»
4. На странице настройки отметить «Add python.exe to Path» (появляется при нажатии на «Customize installation»)
5. Дождаться завершения установкиPython 2 windows (python 2 на windows)
После установки в командной строке (cmd) можно проверить версию:
C:\Users\Admin> python --version
Python 2.7.18Python 3 windows (python 3 на windows)
Типичная ошибка: «python» не распознаётся как внутренняя или внешняя команда.
Решение: добавить путь к папке C:\Python27 и C:\Python27\Scripts в переменную окружения PATH вручную.
setx PATH "%PATH%;C:\Python27;C:\Python27\Scripts"
Python 3.10 windows (python 3.10 на windows)
Перезапустить консоль.
Как использовать портативную версию Python 2 без прав администратора?
Портативные сборки (например, Portable Python или WinPython) не требуют установки в систему. Достаточно распаковать архив и запустить python.exe.
1. Скачать Portable Python 2.7.x (например, с portapython.com)
2. Распаковать в любую папку, например D:\PortablePython27
3. Запустить D:\PortablePython27\App\python.exePython 3.11 windows (python 3.11 на windows)
Для удобства можно создать bat-файл, который временно добавляет путь в PATH текущей сессии.
Проблема: отсутствие pip в портативной версии.
Решение: в составе WinPython обычно уже есть pip, для Portable Python требуется отдельно скачать get-pip.py и выполнить:
python get-pip.pyPython 3.12 windows (python 3.12 на windows)
Как установить Python 2 через менеджер пакетов Chocolatey?
Chocolatey автоматизирует установку и обновление приложений в Windows. Подходит для администраторов, управляющих несколькими машинами.
# Установка Chocolatey (если ещё не установлен):
# Запустить PowerShell от имени администратора:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
# Установка Python 2:
choco install python2 -yPython 3.8 windows (python 3.8 на windows)
После этого Python 2 будет доступен в глобальном PATH.
Ошибка: конфликт с Python 3, если он уже установлен.
Решение: использовать полные пути (C:\Python27\python.exe) или настроить алиасы через py.exe (лаунчер Python).
Как установить Python 2 с помощью ActivePython?
ActivePython - дистрибутив от ActiveState, включает дополнительные пакеты и инструменты управления (PyPM). Версия 2.7 доступна для загрузки на ActiveState Platform.
1. Зарегистрироваться на platform.activestate.com
2. Создать проект с рантаймом Python 2.7
3. Скачать установщик для Windows (обычно MSI)
4. Запустить, следуя инструкциям мастераPython windows 64 (python 64-bit на windows)
ActivePython устанавливается в C:\Python27-32 или C:\Python27-64 и добавляет PATH автоматически.
Проблема: отсутствие свежих версий (ActivePython прекратил поддержку Python 2 с 2020 года).
Решение: использовать только для старых проектов, где требуется совместимость с библиотеками PyPM.
Как настроить изолированное окружение virtualenv для Python 2?
После установки Python 2.7 рекомендуется использовать virtualenv, чтобы не смешивать зависимости проектов.
# Установка virtualenv через pip:
pip install virtualenv
# Создание окружения в папке myenv:
C:\Python27\Scripts\virtualenv myenv
# Активация (cmd):
myenv\Scripts\activate
# Деактивация:
deactivate
Внутри активированного окружения pip и python указывают на изолированные копии.
Ошибка: после активации не видно команды python (если PATH не настроен).
Решение: указать полный путь при создании: C:\Python27\python.exe -m virtualenv myenv.
Расширенные примеры работы с Python 2 на Windows
Пример 1. Скрипт с кириллицей и настройка кодировки
В Python 2 по умолчанию строки - байтовые, что вызывает проблемы с русским языком. Необходимо указывать кодировку исходного файла.
# -*- coding: utf-8 -*-
# Файл: hello_ru.py
print "Привет, мир!"
print u"Привет, мир!" # юникод-строка
Выполнение в консоли:
C:\Python27\python.exe hello_ru.py Привет, мир! Привет, мир!
Если кодировка консоли (cp866) не совпадает с utf-8, возможны кракозябры. Для исправления временно меняют вывод:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
sys.stdout.reconfigure(encoding='cp866') # не работает в Python 2.7; альтернатива - установить PYTHONIOENCODING
# Установить перед запуском: set PYTHONIOENCODING=cp866 python hello_ru.py
Пример 2. Установка пакета из локального файла wheel
Для старых проектов, где PyPI больше не публикует wheel-файлы для Python 2, можно использовать сохранённые локально.
# Предположим, есть файл requests-2.25.1-py2.py3-none-any.whl
pip install requests-2.25.1-py2.py3-none-any.whl
Processing ... Installing collected packages: requests Successfully installed requests-2.25.1
Если пакет требует компиляции, необходимы Microsoft Visual C++ Compiler for Python 2.7.
Пример 3. Использование py.exe для переключения между версиями Python
py.exe - лаунчер, входящий в состав установщика Python 3.3+. Для Python 2 его нужно включить отдельно (опция «py launcher»). Позволяет запускать интерпретатор по указанной версии.
# Узнать установленные версии:
py --list
# Запустить Python 2.7:
py -2.7
# Запустить скрипт с Python 2.7:
py -2.7 myscript.py
# В shebang скрипта:
#! python2
print "This is Python 2"
C:\>py --list -2.7-32 Python 2.7 (32-bit) -3.10-64 Python 3.10 (64-bit)
Пример 4. Создание автономного EXE-файла из скрипта Python 2 с помощью PyInstaller
PyInstaller (версия 3.6 совместима с Python 2.7) позволяет упаковать скрипт в один исполняемый файл без установленного интерпретатора.
# Установка PyInstaller:
pip install pyinstaller==3.6
# Сборка:
pyinstaller --onefile myscript.py
Результат - в папке dist. Файл myscript.exe можно запускать на любом Windows.
C:\Projects>dist\myscript.exe (вывод скрипта)
Пример 5. Работа с путями в Windows (raw-строки и обратные слэши)
Python 2 может неправильно интерпретировать обратные слэши. Рекомендуется использовать сырые строки или двойные слэши.
import os
# Плохо:
path = "C:\newdir\file.txt" # \n - перевод строки
# Хорошо:
path = r"C:\newdir\file.txt"
path = "C:\\newdir\\file.txt"
path = "C:/newdir/file.txt" # прямой слэш тоже работает
print os.path.exists(path)
True
Пример 6. Настройка pip для работы через прокси-сервер
В корпоративных сетях часто требуется указать прокси.
pip install --proxy=http://user:pass@proxy.company.com:8080 numpy==1.16.6
Постоянная настройка через переменные окружения:
set HTTP_PROXY=http://proxy.company.com:8080
set HTTPS_PROXY=http://proxy.company.com:8080
pip install numpy==1.16.6
Пример 7. Сборка C-расширения для Python 2 с помощью mingw
Если Microsoft Visual C++ не установлен, можно использовать компилятор MinGW.
# Установить MinGW (например через Chocolatey: choco install mingw)
# Настроить distutils:
python -c "import sysconfig; print(sysconfig.get_config_var('CC'))"
# В файле \Lib\distutils\cygwinccompiler.py заменить 'gcc' на 'gcc.exe'
# Создать setup.py для модуля example.c
# Установить:
python setup.py build_ext --compiler=mingw32 install
После этого модуль можно импортировать.