bpython (http://bpython-interpreter.org/) — альтернативный интерфейс для интерпретатора Python, который работает в Unix-подобных системах. Для него характерны: • встроенная подсветка синтаксиса;
• автоматическое создание отступов и автозаполнение кода;
• ожидаемый список параметров для любой функции Python;
• функция «перемотки», которая позволяет выделить последнюю строку кода из памяти и повторно оценить ее; • возможность отправить введенный код в pastebin (чтобы поделиться им в сети); • возможность сохранить введенный код в файл.
Для установки bpython введите в терминальной оболочке следующий код:
$ pip install bpython
Инструменты изоляции
В этом разделе приводится подробная информация о наиболее популярных инструментах изоляции — от virtualenv, который изолирует среды Python друг от друга, до Docker, который позволяет создать целую виртуальную систему.
Эти инструменты предоставляют разные уровни изоляции между запущенным приложением и средой его хоста, позволяют протестировать и отладить код для разных версий Python и зависимых библиотек, могут использоваться в качестве устойчивой среды развертывания.
Виртуальные среды
Виртуальные среды Python отдельно хранят требующиеся для разных проектов зависимости. При установке нескольких сред Python ваш глобальный каталог site-packages (место, где хранятся установленные пользователем пакеты Python) останется упорядоченным и вы сможете работать над проектом, который требует наличия фреймворка Django 1.3, в то же время поддерживая проект, требующий Django 1.0.
Команда virtualenv позволяет достичь этого, создавая отдельный каталог, содержащий гибкую ссылку на исполняемый файл Python, копию pip и место для библиотек Python (добавляет его в начало переменной среды PATH при активизации, а затем возвращает переменную среды в исходное состояние при деактивизации). Вы также можете использовать установленные вместе с системой версию Python и библиотеки, указав требуемые параметры командной строки.
Вы не можете переместить виртуальную среду после ее создания — пути в исполняемых файлах четко указывают на текущий абсолютный путь к интерпретатору, который располагается в каталоге виртуальной среды bin/.
Создание и активизация виртуальной среды
Установка и активизация виртуальных сред Python отличается в разных операционных системах.
Mac OS X и Linux. Вы можете указать версию Python с помощью аргумента --python. Далее используйте сценарий активизации, чтобы установить значение переменной среды PATH при входе в виртуальную среду: $ cd
$ virtualenv --python python3
$ source
Windows. Нужно настроить политику выполнения для системы (если вы еще этого не сделали), чтобы разрешить запуск сценариев, созданных локально30.
Запустите PowerShell от имени администратора и введите следующий код:
PS C:\> Set-ExecutionPolicy RemoteSigned
Ответьте «Y» на появившийся вопрос и выйдите, после чего в обычной версии PowerShell создайте виртуальную среду: PS C:\> cd
PS C:\> virtualenv --python python3
PS C:\> .\
Добавление библиотек в виртуальную среду
Как только вы активизировали виртуальную среду, первым исполняемым файлом pip будет тот, который расположен в только что созданном каталоге my-venv. Этот файл установит библиотеки в следующую папку: • my-venv/lib/python3.4/site-packages/ (в системах POSIX31); • my-venv\Lib\site-packages (в Windows).
При сборке собственных пакетов или проектов для заказчиков можете использовать следующую команду, когда виртуальная среда активна: $ pip freeze > requirements.txt
Она позволяет записать все текущие установленные пакеты (которые, как мы надеемся, также являются зависимостями проекта) в файл с именем requirements.txt. Взаимодействующие участники могут установить все зависимости в свою собственную виртуальную среду при наличии файла requirements.txt, введя следующую команду: $ pip install -r requirements.txt
Команда pip установит перечисленные зависимости, переопределяя зависимости, указанные в подпакетах, в том случае, если возникли конфликты. Зависимости, указанные в файле requirements.txt, предназначены для установки всей среды Python. Для того чтобы установить зависимости при распространении библиотеки, для функции setup(), размещенной в файле setup.py, лучше всего использовать аргумент с ключевым словом install_requires.
Тщательно следите за тем, чтобы не вызвать команду pip install -r requirements.txt за пределами виртуальной среды. Если версия какой-нибудь библиотеки, указанной в файле requirements.txt, будет отличаться от той, что установлена на вашем компьютере, pip изменит ее на ту, которая указана в файле requirements.txt.
Деактивизация виртуальной среды
Чтобы вернуться к обычным системным настройкам, введите следующую команду:
$ deactivate