Кеннет Рейтц – Автостопом по Python (страница 5)
virtualenv
Команда virtualenv (http://pypi.python.org/pypi/virtualenv) позволяет создавать изолированные среды Python. Она создает каталог, содержащий все необходимые исполняемые файлы для использования пакетов, которые могут понадобиться для проекта, написанного на Python. Когда вы активизируете среду с помощью команды в новом каталоге, она добавит его название в конец строки, представляющей собой переменную среды PATH — версия Python в новом каталоге будут обнаружена в первую очередь, в результате чего будут задействованы пакеты в его подкаталогах.
Для того чтобы установить virtualenv с помощью pip, введите эту команду в командной строке консоли PowerShell:
PS C: \> pip install virtualenv
В OS X и Linux (поскольку Python предустанавливается для использования системой или сторонним ПО) необходимо явно разграничивать версии pip для Python 2 и Python 3. В Windows вам не нужно этого делать, поэтому, когда мы говорим pip3, имеем в виду pip для пользователей Windows. Независимо от ОС, как только вы попадаете в виртуальную среду, всегда можете использовать команду pip — неважно, работаете вы с Python 2 или Python 3 (это мы и будем делать на протяжении остальной части книги).
Коммерческие дистрибутивы Python
Ваш отдел IT или преподаватель могут попросить вас установить коммерческий дистрибутив Python. Это необходимо, чтобы упростить работу, которую должна выполнить организация, и поддерживать стабильную среду для нескольких пользователей. Все перечисленные здесь дистрибутивы предоставляют реализацию Python, написанную на C (CPython).
Научный редактор первого черновика этой главы сказал, что мы серьезно недооцениваем неудобства, которые большинству пользователей доставляет обычная версия CPython на Windows: несмотря на существование формата wheels, компилирование и/или связывание внешних библиотек, написанных на C, представляет трудность для всех, кроме опытных разработчиков. Мы предпочитаем CPython, но, если вы собираетесь пользоваться библиотеками или пакетами (а не создавать их или добавлять в них что-то свое), вам следует загрузить коммерческий дистрибутив и просто начать работать (это особенно важно, если вы работаете в Windows). Когда захотите внести свой вклад в проекты с открытым исходным кодом, сможете установить обычный дистрибутив CPython.
Вернуться к оригинальной версии Python будет проще, если вы не станете изменять настройки по умолчанию при установке версий Python от сторонних поставщиков.
Кратко опишем коммерческие дистрибутивы.
•
Дистрибутив предоставляет стек SciPy и другие распространенные библиотеки, перечисленные в сопроводительных документах (в формате PDF) (http://bit.ly/intel-python-release-notes). Пользователям Intel Parallel Studio XE доступна коммерческая поддержка, а все остальные могут общаться на форумах. Позволяет вам без особого труда обращаться к научным библиотекам, в остальном ничем не отличается от обычного дистрибутива Python.
•
Дистрибутив Anaconda поставляется со стеком SciPy и другими инструментами. Anaconda имеет отличную лицензию и максимум бесплатной функциональности. Если вам комфортно работать с командной строкой и нравится R или Scala (идут в комплекте), то лучше выбрать коммерческий дистрибутив. Если подобная функциональность не требуется, используйте вместо него miniconda (http://conda.pydata.org/miniconda.html). Пользователи получают разнообразные компенсации (связанные с лицензией на ПО с открытым исходным кодом, а также проясняющие, кто, чем и когда может пользоваться и на кого и в каких случаях подадут в суд), коммерческую поддержку и дополнительные библиотеки Python.
•
•
Enthought предоставляет бесплатные академические лицензии студентам и работникам учреждений образования. Отличительными особенностями дистрибутива от Enthought являются графические инструменты для взаимодействия с Python, которые включают собственную IDE, напоминающую MATLAB, а также графический менеджер пакетов, графический отладчик и графический инструмент для взаимодействия с данными. Как и у других коммерческих дистрибутивов, в нем предусмотрены механизм возмещения ущерба и коммерческая поддержка, а также дополнительные пакеты для покупателей.
Глава 3. Ваша среда разработки
В этой главе приведен обзор текстовых редакторов, интегрированных сред разработки и других инструментов разработки, популярных в настоящий момент.
Мы предпочитаем использовать Sublime Text в качестве редактора и PyCharm/IntelliJ IDEA (оба рассматриваются в следующем разделе) в качестве IDE, но при этом понимаем, что лучший вариант зависит от решаемых вами задач и используемых языков программирования. В этой главе перечислены самые популярные приложения и их достоинства/недостатки.
Для Python не нужны инструменты сборки вроде Make, Java’s Ant или Maven, поскольку это интерпретируемый, а не компилируемый язык[23], поэтому мы не будем рассматривать эти вопросы. Но в главе 6 опишем, как использовать Setuptools для упаковки проектов и Sphinx для сборки документации.
Мы также не будем рассматривать системы контроля версий, поскольку они не зависят от языка, но программисты, которые поддерживают реализацию Python, написанную на C (ссылочную), не так уж давно перешли с Mercurial на Git (см. PEP 512 (https://www.python.org/dev/peps/pep-0512/)). Оригинальное обоснование использования Mercurial в PEP 374 (https://www.python.org/dev/peps/pep-0374/) небольшое, зато представлено сравнение четырех вариантов, популярных в настоящее время: Subversion, Bazaar, Git и Mercurial.
Завершается глава кратким обзором современных способов управления интерпретаторами для воссоздания разных ситуаций, которые могут возникнуть при развертывании, на этапе кодирования.
Текстовые редакторы
Для написания кода Python подойдет любая программа, которая позволяет редактировать текст, однако выбор правильного редактора сэкономит вам несколько часов в неделю. Все текстовые редакторы, перечисленные в этом разделе, поддерживают подсветку синтаксиса и могут быть расширены с помощью надстроек таким образом, чтобы выполнять статическую проверку кода (с помощью средств контроля качества кода) и делать отладку.
В табл. 3.1 перечислены текстовые редакторы, которые нам нравятся (по убыванию предпочтения), и объясняется, почему разработчику следует выбрать именно этот редактор. Далее в главе кратко рассматривается каждый из них. В «Википедии» по адресу https://en.wikipedia.org/wiki/Comparison_of_text_editors приведена таблица, в которой детально сравниваются текстовые редакторы (поможет тем, кто ищет определенную функциональность).
Sublime Text
Мы советуем использовать текстовый редактор Sublime Text (http://www.sublimetext.com/) для написания кода, разметки и просто текста. В первую очередь его рекомендуют из-за скорости; далее в списке достоинств идет количество доступных пакетов (3000+).