Зачем нужны виртуальные окружения
Разберитесь в конфликтах зависимостей и поймите, почему изоляция необходима.
«Зачем нужны виртуальные окружения» — бесплатный урок Python Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python Academy содержит 4 уроков всего.
Введение
Проблема глобальной установки
# Without venv:
# pip install requests==2.25 -> global
# pip install requests==2.28 -> overwrites 2.25!
print('global conflict demo')Что такое виртуальное окружение
# venv creates:
# project/
# .venv/
# bin/python (isolated Python)
# lib/site-packages/ (project packages)
print('venv structure')Воспроизводимость
# pip freeze > requirements.txt
# # Later, on another machine:
# python -m venv .venv
# pip install -r requirements.txt
print('reproducible env')Изоляция для безопасности
# System Python is untouched:
# /usr/bin/python -> system packages
# .venv/bin/python -> project packages only
print('security isolation')CI/CD и Docker
# Dockerfile pattern:
# RUN python -m venv /opt/venv
# RUN /opt/venv/bin/pip install -r requirements.txt
print('ci/cd demo')Одно venv на проект
# Add to .gitignore:
# .venv/
# __pycache__/
print('gitignore tip')Системные, пользовательские и venv site-packages
import sys
print('\n'.join(p for p in sys.path if 'site' in p))pyenv для управления версиями Python
# pyenv install 3.12.0
# pyenv local 3.12.0
# python -m venv .venv
print('pyenv demo')conda как альтернатива
# conda create -n myenv python=3.11
# conda activate myenv
# conda install numpy pandas
print('conda demo')Итоги рекомендаций
import sys
print('Python:', sys.version)
print('venv:', sys.prefix != sys.base_prefix)Быстрая проверка
Повторение
Продолжайте
Часто задаваемые вопросы
Урок «Зачем нужны виртуальные окружения» бесплатный?
Да — полный текст урока «Зачем нужны виртуальные окружения» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python Academy, подпишись на CoddyKit PRO. Курс Python Academy содержит 4 уроков всего.
Чему я научусь в уроке «Зачем нужны виртуальные окружения»?
Разберитесь в конфликтах зависимостей и поймите, почему изоляция необходима. Ты практикуешь Python Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Python Academy?
Предыдущий опыт не требуется. Python Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Зачем нужны виртуальные окружения»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Python Academy?
Да. Каждый урок Python Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Зачем нужны виртуальные окружения
- Создание и активация venv
- Управление зависимостями с помощью pip
- Современные инструменты: pipenv и uv