Независимо от того, являетесь ли вы опытным разработчиком Python или только начинаете, изучение настройки виртуальной среды имеет важное значение для любого проекта Python. Присоединяйтесь ко мне, поскольку я расскажу обо всем, что вам нужно знать о виртуальной среде Python.
Обязательно ознакомьтесь с нашими причинами, почему программирование на Python не бесполезно. , и если вы новичок в Python, ознакомьтесь с этими 10 базовыми примерами Python, 10 базовыми примерами
Что такое виртуальная среда Python?
Виртуальная среда — это способ запуска разных версий Python для разных проектов. Подобно тому, как работают виртуальные машины , виртуальные среды Python позволяют устанавливать несколько версий Python с определенными модулями и зависимостями для каждой версии. Все эти проекты независимы друг от друга, поэтому любые модули, которые вы устанавливаете в определенном проекте, не будут доступны в других проектах.
Это может показаться большим усилием, но оно того стоит. Скажем, вы обычно работаете в Python 2.7.x, но вы хотите попробовать 3.x. Нет проблем, просто создайте новый проект и установите ваши зависимости. А как насчет Python 2.4.x для унаследованного проекта? Да просто. Ни один из этих проектов не будет мешать друг другу, и при этом они не будут включать версию Python, используемую вашей операционной системой.
Начало настройки
Неважно, какую версию Python вы используете. Если вы используете Mac, то у вас уже установлен Python. Вам нужно будет скачать и установить Python, если вы используете Windows.
Вам нужно будет установить пипс . Это менеджер пакетов для Python, и он поставляется с Python версии 2.7.9 или новее. Все эти шаги будут выполняться через командную строку, поэтому вы можете прочитать наше руководство по командной строке Windows. или наше краткое руководство по командной строке Linux
Для использования виртуальных сред необходимо два пакета. Откройте новый терминал и установите пакет virtualenv :
pip install virtualenv
С этим пакетом можно полностью использовать и управлять виртуальными средами. Я не буду рассказывать о том, как это сделать, поскольку гораздо проще использовать virtualenvwrapper . Этот пакет написан для упрощения создания и управления виртуальными средами. Установите его используя pip:
pip install virtualenvwrapper
В windows вам нужно будет установить немного другой пакет:
pip install virtualenvwrapper-win
Убедитесь, что у вас установлен virtualenv, прежде чем пытаться установить virtualenvwrapper .
Теперь настройте упаковщик:
export WORKON_HOME=~/Envs source /usr/local/bin/virtualenvwrapper.sh
Эта оболочка хранит все ваши среды в одном месте (вместо разбросанных по вашей файловой системе, что виртуальная среда будет обходиться без оболочки).
использование
Теперь, когда ваша виртуальная среда полностью настроена, вы можете начать ее использовать. Вот как вы создаете новую среду:
mkvirtualenv muo
Это создаст папку и среду с именем muo внутри вашей папки ~ / Envs .
Вы можете использовать эту команду, чтобы создать столько окружений, сколько захотите. Изменить среду легко, используя команду workon :
workon muo
Теперь вы должны увидеть имя вашего проекта в командной строке:
Любые устанавливаемые вами пакеты будут работать только внутри этой среды.
Если вы больше не хотите работать в среде, вам нужно использовать команду deactivate :
deactivate
Важно отметить, что команда workon деактивирует текущий проект, а затем активирует новый проект. Нет необходимости сначала деактивировать.
Легко перечислить виртуальные среды:
lsvirtualenv
Если вы используете контроль версий (и вы действительно должны быть), не забудьте исключить вашу среду. (Подсказка: используйте команду gitignore, если вы используете Git.)
Если вам больше не нужна среда, вы можете удалить ее:
rmvirtualenv muo
Убедитесь, что вы не работаете в этой среде, в противном случае вы получите ошибку:
Наконец, легко настроить среду с определенной версией Python:
virtualenv -p /usr/bin/python2.7 muo27
Убедитесь, что путь к файлу ( /usr/bin/python2.7 ) указывает на версию Python (это может быть любая версия). Обратите внимание, как я назвал этот проект muo27 . Я использовал суффикс 27, чтобы указать, что это среда Python 2.7.
Дополнительно
Есть несколько других опций, которые вы можете использовать при создании окружения. Опция –no-site-packages не устанавливает пакеты, которые уже установлены глобально (в операционной системе). Они не будут доступны для вашей среды. Это полезно для того, чтобы сохранить проект компактным и аккуратным, а не заполнять его ненужными пакетами.
Вы можете использовать команду freeze для генерации списка зависимостей, необходимых для вашего проекта:
pip freeze > dependencies.txt
Это создаст .txt файл, называемый зависимостями всех необходимых модулей. Это значительно облегчит вам или другому разработчику запуск проекта на более позднем этапе. Вот как вы можете установить необходимые модули из этого списка:
pip install -r dependencies.txt
Теперь, когда вы знаете, как использовать виртуальные среды Python, нет ограничений для проектов, над которыми вы можете работать! Почему бы не научиться читать и писать в Google Sheets и создайте себе новую среду для работы.
Вы используете виртуальные среды Python? Какая твоя любимая особенность? Дайте знать об этом в комментариях ниже!
Кредит Фотографии: Сергей Нивенс и Хелен Дрим через Shutterstock.com