Учебник программирования python в среде visual code

В Опросе разработчиков Stack Overflow за 2018 год Python удобно расположился на первом месте как самый востребованный язык программирования. А JavaScript и Go заняли второе и третье места. Python также занимает третье место в категории “самые любимые”.
Несмотря на возраст (20 лет и более), популярность Python продолжает расти, и на то есть веские причины. Он надежен, гибок, прост в освоении, с открытым исходным кодом и кросс-платформенен с самого начала. Это также помогает тому. Что со временем он пользуется надежным и активным сообществом разработчиков и невероятно богатой экосистемой бесплатных библиотек. Поддерживающих все виды использования: веб-приложения и сервисы. Настольные приложения. Научные вычисления. Сценарии — вы называете это.

Удивительно, но не многие разработчики .NET знают, что их любимый инструмент разработки, Visual Studio, предлагает превосходную поддержку Python. В этой статье вы увидите. Как вы можете использовать свои с трудом приобретенные навыки Visual Studio для немедленной и эффективной работы с этим фантастическим языком.

Реклама

О взаимоотношениях между Python и Visual Studio

В настоящее время бренд Visual Studio включает в себя несколько различных продуктов.

Существует Visual Studio для Windows, Visual Studio для Mac. А затем кросс-платформенный редактор кода Visual Studio. Как вы знаете, несмотря на их названия, это совершенно разные продукты, с разными предпосылками и наборами функций. Поддержка Python доступна в Visual Studio для Windows. На Mac и Linux, и, конечно, в Windows, вы можете рассчитывать на большой опыт Python в коде Visual Studio.

В настоящее время Visual Studio для Mac не поддерживает Python, и, честно говоря, я бы не стал делать ставку на то. Что что-то подобное произойдет в ближайшее время. Анекдотический факт: Год назад кто-то открыл тикет запроса функции на UserVoice.

С тех пор билет получил много голосов (включая мой) и комментариев, но никакой обратной связи от команды. По своей сути VSMac является монодевелопером с множеством новых расширений. Добавленных для поддержки новых рабочих нагрузок (.NET Core, Azure Deployment, Unity). По словам Мигеля Де Икасы (основателя проектов GNOME, Mono и Xamarin). Внутренние компоненты постепенно заменяются кодом Visual Studio. Когда это применимо. Так что да, это другой зверь. Интересно, однако, что если вы посмотрите на матрицу функций MonoDevelop, то обнаружите. Что привязки Python 2 доступны для Linux.

Поживем-увидим, наверное.

В этой статье я расскажу о флагманском продукте Visual Studio для Windows. История между Python и VS продолжается уже давно, и я могу быть очень точным в этом отношении. Поскольку проект всегда был открытым исходным кодом (https://github.com/Microsoft/PTVS), что позволило мне клонировать репозиторий и немного поиграть с ним. Как оказалось, первая дата фиксации-8 марта 2011 года (рис. 1).

Рис. 1: Исследуя репозиторий с открытым исходным кодом, я обнаружил, что первые даты фиксации были в 2011 году.
Рис. 1: Исследуя репозиторий с открытым исходным кодом, я обнаружил, что первые даты фиксации были в 2011 году.

В команде разработчиков есть сотрудники Microsoft, которые являются или были разработчиками ядра Python.

К ним относятся Стив Дауэр, Эрик Сноу, Дино Виеланд и Бретт Кэннон. Который сейчас возглавляет расширение VSCode Python. Зрелость проекта и состав команды, я думаю, дают четкое представление о приверженности Microsoft языку. Python в Visual Studio реален. Настолько реально, что сегодня Python поставляется как неотъемлемая часть продукта.

В команде разработчиков есть сотрудники Microsoft, которые являются или были разработчиками ядра Python.

Установка Python в Visual Studio

Как установщики VS2017, так и VS2015 позволяют добавлять Python в качестве опции либо при первой установке. Либо позже.

Однако есть небольшие различия. VS2017 способен установить интерпретатор языка, если это необходимо. В то время как с VS2015 вы должны установить интерпретатор отдельно. Если он отсутствует в целевой системе. Кроме того, в VS2017 (15.2 или более поздней версии) Python поставляется в качестве стандартной рабочей нагрузки. С помощью установщика VS2015 вам нужно включить пакет Python Tools for Visual Studio из списка доступных языков.

Если по какой-то странной причине вы застряли с VS2013, VS2012 или даже VS2010, что ж, хорошие новости!

Вы все еще можете добавить Python вручную. Загрузив и установив соответствующую версию автономного установщика (PTVS 2.2 для VS2013; PTVS2.1 для VS2012 и VS2010).

Короче говоря, вы можете иметь лучший опыт работы с Python в Visual Studio 2017. Вы все еще можете наслаждаться Python с предыдущими версиями VS, но серьезно, вы должны обновить его как можно скорее, и, конечно. Не только из-за Python. VS2017 лучше (и намного эффективнее) во многих отношениях. Для остальной части этой статьи я буду ссылаться на Visual Studio 2017 для Windows.

Я предполагаю, что у вас уже установлена Visual Studio.

Запустите программу установки, а затем выберите опцию Изменить. На вкладке Рабочие нагрузки выберите рабочую нагрузку разработки Python (рис. 2).

Рисунок 2: Убедитесь, что выбрана рабочая нагрузка разработки Python.
Рисунок 2: Убедитесь, что выбрана рабочая нагрузка разработки Python.

Когда вы выбираете рабочую нагрузку, вы можете точно настроить то, что будет установлено в правой панели. Я предлагаю вам пойти с дефолтом. Просто убедитесь, что проверена веб-поддержка, а также 64-битный Python 3. Если вы только начинаете. Пропустите Python 2. Поддержка Python 2 заканчивается 1 января 2020 года. А Python 3 намного лучше во многих отношениях. Если вам не приходится иметь дело с какой-то сварливой старой библиотекой, Python 2 просто не стоит того. И вы всегда можете вернуться и добавить его позже. Если это необходимо.

После завершения установки рабочей нагрузки откройте Visual Studio и нажмите Alt+Iили нажмите Tools/Python/Python Interactive Window , чтобы открыть. Как вы уже догадались. Интерактивное окно Python. Если она откроется-успех! Питон сидит прямо здесь, у вас под рукой. Чтобы проверить это, введите что-то питонское и очень оригинальное, как я сделал на рисунке 3.

Рисунок 3: Если это не сработает, вернитесь назад и проверьте свои шаги.
Рисунок 3: Если это не сработает, вернитесь назад и проверьте свои шаги.

Работа с Python в Visual Studio

Версия TL;DR (слишком долго; не читал) этой статьи: вы работаете с Python, как и с любым другим языком .NET. Все работает так, как вы и ожидали. Позвольте мне немного уточнить.

Шаблоны проектов

В новом окне проекта выберите Установленные/Другие языки, затем Python Обратите внимание. Как Visual Studio предлагает список шаблонов проектов. Включая (если вы выбрали веб-поддержку) Веб-приложения. Построенные на хорошо известных фреймворках. Таких как Flask и Django. Эти шаблоны фреймворка включают в себя стартовый сайт с некоторыми страницами и статическими файлами, как и ASP.NET шаблоны мы все знаем.

Они предоставляют весь код и ресурсы, необходимые для запуска и отладки сервера локально и, в конечном счете. Развертывания в Azure. Поддержка виртуальных сред Python также встроена (я перейду к виртуальным средам через минуту). На рисунке 4 Вы можете видеть , что у меня также есть шаблон облачного сервиса Azure. Это потому. Что при установке я проверил опцию Azure Cloud Services core tools. Для этого первого запуска выберите самый простой вариант: пустое приложение Python.

Visual Studio предлагает список шаблонов проектов. Включая веб-приложения, созданные с помощью известных фреймворков. Таких как Flask и Django.

Рис. 4: Поддержка Python в Visual Studio предлагает ряд шаблонов проектов; Flask-мой любимый.
Рис. 4: Поддержка Python в Visual Studio предлагает несколько шаблонов проектов; Flask-мой любимый.

Обозреватель решений

Как и следовало ожидать, в Обозревателе решений появится новое решение. Он содержит один Pythonпроект (PythonApplication1.pyproj) с одним Pythonфайлом (PythonApplication1.py — все файлы Python используют суффикс .py). Обратите внимание, что в дополнение к хорошо известному узлу Ссылок у вас также есть среды Python, которые. Если вы еще не знакомы с Python. Являются новыми. При расширении вы можете увидеть доступные вам интерпретаторы Python. Разверните узел интерпретатора, чтобы увидеть библиотеки, установленные в этой среде (рис. 5).

Рисунок 5: Обозреватель решений выглядит знакомо, но по-другому. Узел среды Python является новым. Файл проекта (.pyproj) является артефактом Visual Studio.
Рисунок 5: Обозреватель решений выглядит знакомо, но по-другому. Узел среды Python является новым. Файл проекта (.pyproj) является артефактом Visual Studio.

Сейчас я перейду к виртуальным средам. Давайте сначала напишем код.

IntelliSense, Завершение Кода, Сигнатуры Типов И Т. Д.

Как вы знаете, IntelliSense обеспечивает завершение кода, подписи типов, быструю информацию об идентификаторе. Раскраску кода и, возможно. Более интересные функции. К.NET developer, набор функций IntelliSense-это не проблема, но дело в том. Что такие вещи. Как завершение кода и сигнатуры типов. Являются чем-то вроде проблемы в Python. Который сильно типизирован. Но имеет динамическую семантику.

До недавнего времени каждый раз, когда вы устанавливали или обновляли пакет Python. Visual Studio не торопилась сканировать его. А затем обновлять внутренний кэш. Также известный как “база данных завершения”. Не совсем лучший пользовательский опыт. Но со времен Visual Studio 15.6 все изменилось. Теперь он выполняет легкий анализ модулей Python по мере их импорта в код (а не во время установки). Проблема с этим новым методом заключается в том. Что не все пакеты предоставляют метаданные. Необходимые для выполнения эффективного, легкого. Но глубокого анализа.

В результате для некоторых пакетов вы получаете лучший опыт IntelliSense; для других все еще немного неуклюже. В настоящее время можно вернуться к старому методу, хотя вы должны сделать это явно. План состоит в том, чтобы отказаться от подхода БД завершения когда-нибудь в будущем (рис. 6).

Для некоторых пакетов вы получаете лучший опыт IntelliSense; для других, ну, все еще немного неуклюже

Рис. 6. Начиная с версии VS 15.6, IntelliSense на базе базы данных отключен. Но при необходимости его можно активировать повторно. Несмотря на заголовок, он также эффективен в стандартном выпуске (без предварительного просмотра).
Рис. 6. Начиная с версии VS 15.6, IntelliSense на базе базы данных отключен. Но при необходимости его можно активировать повторно.

Несмотря на заголовок, он также эффективен в стандартном выпуске (без предварительного просмотра).

Мой совет — продолжать работать с настройками по умолчанию. По мере того как все больше пакетов включают необходимые метаданные (а именно файлы подсказок типа .pyi). Улучшается работа IntelliSense. Команда разработчиков активно работает над этой функцией. В следующем выпуске (15.7) мы получаем улучшенные подсказки типов. Которые способны выдавать предупреждения для несовпадающих типов. Что в настоящее время недоступно.

Вооружившись этим знанием, введите print(‘Hello. CODE!’) в редакторе кода (одинарные и двойные кавычки действительны для строк. Хотя соглашение заключается в одинарных кавычках). Обратите внимание. Как прекрасно работают подсказки завершения кода и подписи. Запуск программы-это простое нажатие Ctrl+F5, как и в любом другом языке .NET (рис. 7).

Рис. 7. Введите код Python и запустите его, как и любой другой язык .NET. IntelliSense тоже работает.
Рис. 7. Введите код Python и запустите его, как и любой другой язык .NET. IntelliSense тоже работает.

Теперь, прежде чем вы замените код чем-то новым и более захватывающим. Давайте покопаемся в виртуальных средах Python и управлении пакетами.

Виртуальные среды и управление пакетами

“Ад зависимости-это разговорный термин для разочарования некоторых пользователей программного обеспечения. Которые установили пакеты программного обеспечения. Которые имеют зависимости от конкретных версий других пакетов программного обеспечения.” ?Michael Jang, 2006, Linux раздражает гиков.

Мы все получили свою долю, верно? Решение этой проблемы в Python-виртуальные среды. Виртуальная среда-это изолированная среда, обычно (но не обязательно) используемая одним проектом. Проект может комфортно сидеть вместе со своими зависимостями в своей изолированной среде, независимо от того. Какие зависимости есть у каждого другого проекта.

Чтобы уменьшить накладные расходы, виртуальная среда обычно (но опять же. Не обязательно) использует глобальный интерпретатор и стандартную библиотеку (например, BCL). Но сохраняет свое хранилище пакетов в частной папке.

Проект может комфортно сидеть вместе со своими зависимостями в своей изолированной среде, независимо от того. Какие зависимости есть у каждого другого проекта.

Visual Studio предлагает полную поддержку глобальных и виртуальных сред через окно среды Python. Чтобы открыть его, щелкните правой кнопкой мыши узел среды Python вашего проекта в Обозревателе решений. А затем выберите пункт Просмотреть все среды Python. В новом проекте, когда вы делаете это в первый раз, вы получаете список глобальных интерпретаторов Python. Обнаруженных Visual Studio в вашей системе. Тот, что выделен жирным шрифтом, — это интерпретатор по умолчанию, используемый новыми проектами.

Конечно, вы не хотите работать в глобальной среде. Сначала вы хотите создать изолированную среду для своего проекта. Итак, вернитесь в Обозреватель решений и щелкните правой кнопкой мыши на Добавить виртуальную среду. Появится диалоговое окно с запросом о двух фундаментальных вещах: расположении среды (по умолчанию это подпапка проекта) и базовом интерпретаторе Visual Studio достаточно умна. Чтобы найти самый последний. Подходящий интерпретатор Python в системе и выбрать его для вас . Как только вы нажмете кнопку Создать, новая среда появится в Обозревателе решений. Развернув его. Вы увидите пару предустановленных пакетов: pipsetuptools Они используются для установки и обновления зависимостей проекта (рис. 8).

Рисунок 8: Вы создали виртуальную среду для проекта. Он использует глобальный интерпретатор (Python 3.6 64-разрядный) и поставляется с двумя предустановленными пакетами.
Рисунок 8: Вы создали виртуальную среду для проекта. Он использует глобальный интерпретатор (Python 3.6 64-разрядный) и поставляется с двумя предустановленными пакетами.

Вы можете добавить в проект больше виртуальных сред. А затем переключаться между ними по мере необходимости, возможно. Экспериментировать с различными версиями конкретных зависимостей. Активная среда всегда выделена жирным шрифтом.

Как вы устанавливаете пакеты в среде? Python — эквивалент NuGet-это индекс пакетов Python (PyPI). “хранилище программного обеспечения для языка программирования Python.” Он намного опережает NuGet. Со временем сообщество разработало и зарегистрировало более 130 тысяч пакетов на PyPI (https://pypi.org). Да, это огромная сумма. Чтобы установить пакет. Щелкните правой кнопкой мыши нужную среду в Обозревателе решений и выберите команду Установить пакет Python. В поле поиска введите matplotlib, затем нажмите кнопку pip install matplotlib from PyPI После установки пакет появится в окне Среды Python. Matplotlib-это пакет для построения графиков. Он имеет несколько зависимостей, которые также загружаются и устанавливаются для нас.

Реклама

Вернемся к редактору кода. Замените предыдущую инструкцию print этим кодом:

from math import radians import numpy as np import matplotlib.pyplot as plt def main(): x = np.arange(0, radians(1800), radians(12)) plt.plot(x, np.cos(x), 'b') plt.show() main()

В первой строке вы импортируете radiansфункцию из математического модуля. Который является частью стандартной библиотеки. Во второй строке вы импортируете изnumpy, зависимость matplotlib. Наконец, вы импортируете pyplotфункцию из matplotlib и переименовываете ее как plt. Затем вы определяете plottingфункцию и в последней строке выполняете ее.

Приведенный выше фрагмент взят из официальной документации (https://docs.microsoft.com/visualstudio/python). Проект недавно получил преданного технического писателя, и это видно. Обновленная документация является первоклассной и открыта для общественного вклада. Я сам внес несколько несущественных исправлений, что, надеюсь, не снизило общее качество.

Если вы запустите код, то откроется окно с красивым графиком.

Интерактивный отладчик и Python REPL

Разработчики Python традиционно проводят много времени за терминалом или командной строкой. Переключаясь туда-сюда из своего редактора. Я знаю это, потому что делаю это все время в своей среде командной строки/Vim (однажды мы должны поговорить о преимуществах использования привязок ключей vim в Visual Studio. Но сейчас не этот день).

Одной из самых крутых функций Visual Studio является интерактивный отладчик. Разве не было бы здорово, если бы вы могли использовать это и с Python? Ну, радуйтесь! Полный опыт отладки VS, к которому вы привыкли при работе .NET также доступен с Python. Вы можете запускать код шаг за шагом или добавлять точки останова, даже условные. Вы можете, конечно, изучить все состояние программы и изменить значение переменных или изучить стек вызовов (рис. 9).

Рисунок 9: Точка останова, которую я установил, вызвала паузу в выполнении кода. Сейчас я развлекаюсь, осматривая местных.
Рисунок 9: Точка останова, которую я установил, вызвала паузу в выполнении кода. Сейчас я развлекаюсь, изучая местных.

Говоря об отладке, имейте в виду. Что Visual Studio также может запускать и отлаживать приложения Python на удаленном компьютере Windows. Он также может отлаживаться на другой удаленной операционной системе. Устройстве или реализации Python (стандартная реализация Python-CPython). Удаленная отладка в другой операционной системе возможна благодаря ptvsd, или Visual Studio remote debugging server for Python. Поддерживаемому Microsoft пакету. Который в настоящее время находится на стадии альфа-версии.

Полный опыт отладки VS, к которому вы привыкли при работе .NET также доступен с Python.

Одной из замечательных особенностей интерпретируемых языков является опыт read-evaluate-print-loop (REPL). Который они предлагают. Интерактивное окно VS предоставляет все возможности Python REPL. До этого вы недолго пользовались интерактивным окном. Это удобно, когда вы хотите опробовать некоторые идеи или протестировать какой-то код, прежде чем совершить его. Кроме того, вы можете отправить код из редактора в интерактивное окно. Чтобы сразу же попробовать его; наведите курсор на строку. Затем нажмите Ctrl+Enter (или щелкните правой кнопкой мыши и выберите Отправить в интерактивное).

Когда вы это сделаете, содержимое строки перейдет прямо в интерактивное окно. А в редакторе курсор переместится на следующую строку. Что позволит вам продолжить отправку строк в интерактивное окно по мере необходимости. Еще лучше, вы можете выбрать блок кода в редакторе, а затем нажать Ctrl+Enter, чтобы отправить его все одним движением (рис. 10).

Рис. 10: При отправке блока кода в интерактивное окно строки выполняются сразу, последовательно, по мере попадания в REPL.
Рис. 10: При отправке блока кода в интерактивное окно строки выполняются сразу, последовательно, по мере попадания в REPL.

Теперь это REPL, так что имейте в виду. Что каждая строка выполняется сразу. Даже если вы отправляете целый блок кода. На рисунке 10 я отправил всю маленькую программу в REPL. В результате, когда последняя строка попадает в REPL, main()функция выполняется и открывается окно графика.

Профилирование и Модульное тестирование

Модульное тестирование имеет решающее значение, особенно с динамическими языками, такими как Python. Visual Studio может обнаруживать, выполнять и отлаживать модульные тесты так же легко, как и с помощью .ЧИСТЫЕ языки.

В Python принято, что testимена методов начинаются с “test.” Testклассы являются подклассами unittest.TestCase. Visual Studio следует этому соглашению. Добавьте новый элемент модульного теста Python в свой проект Python (Ctrl+Shift+A). Вы получаете test1.pyфайл со следующим кодом по умолчанию:

import unittest class Test_test1(unittest.TestCase): def test_A(self): self.fail("Not implemented") if __name__ == '__main__': unittest.main()

Быстрый взгляд на код показывает. Что типичный тест Python не очень отличается от теста C#. Вы импортируете модуль unittest из стандартной библиотеки, а затем объявляете класс. Который наследуется от базового testкласса. Класс содержит только один testметод: test_A.

Теперь откройте проводник тестов (Test/Windows/Test Explorer). Ваш проект уже должен сидеть там как корневой узел, с test1.py в детстве. Разверните дочерний узел, чтобы убедиться, что единственный тест, доступный в коде, test_A. Был обнаружен и включен в список. Если вы запустите тест, дважды щелкнув его в текстовом проводнике, он завершится неудачей, как и ожидалось. Учитывая текущий код.

А теперь возвращайтесь к PythonApplication1.py и измените его так, чтобы он выглядел следующим образом:

from math import radians import numpy as np import matplotlib.pyplot as plt import sys my_var = 'CODE Magazine' def main(): x = np.arange(0, radians(1800), radians(12)) plt.plot(x, np.cos(x), 'b') plt.show() if __name__ == '__main__': main()

Есть два дополнения. Вы добавили новую глобальную переменную my_var; затем вы добавили оператор If перед последней строкой. Глобальная переменная my_var будет целью вашего скорого обновления теста. Однако это утверждение Когда скрипт Python запускается в качестве основной программы, выполняется весь код. Находящийся на уровне отступа 0. Функции и классы. Которые определены. Хорошо определены. Но ни один из их кода не выполняется. В отличие от других языков, здесь нет явной main()функции. Которая запускается автоматически; неявно main() функция-это весь код. Который находится на верхнем уровне.

После редактирования весь оставшийся код верхнего уровня-это ваш недавно добавленный оператор If и, конечно же. Ваша новая переменная. Которая объявлена и установлена в строковое значение. Встроенная переменная __name__вычисляется как имя текущего модуля. Если модуль работает как основная программа, то __name__устанавливается значение __main__. Таким образом, вы можете проверить. Выполняется ли ваш скрипт непосредственно или импортируется другим модулем путем тестирования:

if __name__ == '__main__': ...

Все, что делает ваш оператор If, — это убедиться, что код в его блоке не запускается. Когда другой модуль импортирует ваш скрипт. Итак, теперь, когда вы запускаете test_A и test1.py импорт PythonApplication1.py, вы не получаете график. Чтобы показать. Обратите внимание, что у вас есть тот же тест в test1.py, и по той же причине. С этим покончено, давайте отредактируем тест, чтобы он прошел.

Изменить test1.py чтобы выглядеть вот так:

import unittest from PythonApplication1 import my_var class Test_test1(unittest.TestCase): def test_A(self): self.assertEqual('CODE Magazine', my_var) if __name__ == '__main__': unittest.main()

Теперь сохраните все изменения (да. Вы должны сохранить свои изменения вручную). Затем запустите test_A и наслаждайтесь тем. Как он становится зеленым (рис. 11)! Конечно, вы можете также отлаживать модульные тесты, устанавливая точки останова. Проверяя локальные объекты и все другие функции отладки. Которые вы знаете.

Рисунок 11: Visual Studio может обнаруживать, выполнять и отлаживать модульные тесты Python, как и любой другой язык .NET.
Рисунок 11: Visual Studio может обнаруживать, выполнять и отлаживать модульные тесты Python, как и любой другой язык .NET.

Вы также можете профилировать свой код. Перейдите к Анализу/запуску профилирования Python. Откроется диалоговое окно Настройки профиля. Нажмите кнопку Пуск, которая запустит вашу программу. После завершения выполнения в Visual Studio открывается отчет о производительности (рис.12).

Рис. 12: Visual Studio может профилировать ваш код. Очевидно, что в этом случае большая часть времени уходит на построение графиков, а не на наш код.
Рисунок 12: Visual Studio может профилировать ваш код. Очевидно, что в этом случае большая часть времени тратится на построение графиков, а не на наш код.

Весело провести время с Visual Studio, Python и C/C++

Python и язык C имеют сильную связь. Во-первых, ядро Python написано на языке Си, отсюда и его название-CPython. Добавить новые встроенные модули C/C++ в Python довольно просто. Обычно вы делаете это ради производительности. Помните, что Python-это интерпретируемый язык. Поэтому имеет смысл писать критически важные для производительности части на C/C++. В конце концов, основная причина, по которой Python так широко используется в научной области, заключается в том. Что он сочетает в себе отличную читабельность. Присущую языку. С высокой производительностью. Обеспечиваемой его научными библиотеками. Которые написаны на C и обернуты в Python.

В Visual Studio вы можете писать как Python, так и C++ код и, что еще более интересно. Вы можете писать модули расширения для CPython. Вам необходимо установить рабочие нагрузки C++ и Python. Или вы можете выбрать опцию Python native development tools для рабочей нагрузки Python в установщике Visual Studio. Если вас интересует эта тема, я предлагаю вам посетить официальный сайт документации. Там вы найдете отличный учебник по написанию расширения C++ для Python.

Реклама

Зовущий.СЕТЬ от Python

Помимо CPython, разработчики .NET имеют в своем распоряжении еще один интригующий вариант: IronPython. IronPython-это другая реализация Python. Как и CPython. Это открытый исходный код. Он работает на .NET DLR (Dynamic Language Runtime) и позволяет ему вызывать .СЕТЕВЫЕ библиотеки из Python. — Вот именно. С помощью IronPython вы можете с удовольствием потреблять его .ЧИСТАЯ эко-система из вашего кода Python.

Рисунок 13: Вызов .СЕТЬ от Python, любезно предоставленная IronPython
Рисунок 13: Вызов .СЕТЬ от Python, любезно предоставленная IronPython

На рис. 13показано . Как Visual Studio предлагает прямую поддержку IronPython. Также доступно несколько шаблонов проектов IronPython. Вы можете создать новое приложение WPF или WinForms Python. Как это странно?! Имейте в виду. Что официальный дистрибутив IronPython является реализацией Python 2.7. Усилие Python 3, удобно называемое IronPython3, продолжается. Вы можете построить и использовать его (инструкции доступны на GitHub). Но вы не можете найти ссылку (или ссылку на загрузку. Если на то пошло) на официальном сайте. И по уважительной причине. На момент написания этой статьи сборка IronPython3 завершилась неудачей на CI.

Будучи в состоянии потреблять .СЕТЕВЫЕ библиотеки из Python (и наоборот!) открываются для некоторых интересных вариантов использования. Например, я видел, как IronPython используется в качестве мощного встроенного скриптового движка. Тебе интересно? Зайдите на сайт IronPython по адресу http://ironpython.net для полного изложения.

Краткие сведения

История между Python и Windows всегда была сложной. Python поставляется предустановленным со всеми дистрибутивами Linux и на macOS. А не на Windows. До недавнего времени даже установка Python на Windows была довольно неудобным опытом. Традиционно разработчики Windows предпочитают работать с богатыми. Полнофункциональными IDE и не склонны покидать свою зону комфорта для работы с другим языком. Сами по себе эти факторы, вероятно, не помогли сделать Python очень популярным в экосистемах Windows. Что весьма прискорбно, учитывая. Насколько популярен этот язык на других платформах.

Python для Visual Studio заполняет этот пробел. Как разработчики .NET, мы получаем бесшовный опыт установки и разработки прямо в нашей предпочтительной среде разработки. С другой стороны, люди Python получают фантастическую среду разработки на Windows. Тем более с Community Edition Visual Studio. Которая также поддерживает рабочую нагрузку Python.

Я твердо верю, что усилия, необходимые для того, чтобы стать программистом-полиглотом, того стоят. Это приносит большие дивиденды в долгосрочной перспективе. Освоение различных технологий, стеков и программной культуры сделало меня гораздо лучшим разработчиком, чем я был. Как и многие другие, чтобы достичь этой цели. Мне пришлось сделать решительный шаг и уйти далеко от своей зоны комфорта. Чтобы стать опытным специалистом в таких новых вещах, как Linux. Bash, Python. Open source. Сегодня, благодаря новым рабочим нагрузкам в Visual Studio, овладеть новыми языками (знаете ли вы. Что существует и рабочая нагрузка узла?) стало проще. Чем когда-либо.

Ты должен рискнуть.