Нужен ли python на компьютере

Обновлено: 05.07.2024

Онлайн-компиляторы Python хоро­ши, когда нуж­но быст­ро про­те­сти­ро­вать что-то про­стое, но для пол­но­цен­ной рабо­ты их недо­ста­точ­но. Что­бы исполь­зо­вать всю мощь Python, нуж­но уста­но­вить его на свой ком­пью­тер, и тогда мож­но под­клю­чать к нему любые биб­лио­те­ки и писать код любой слож­но­сти.

В этой ста­тье пока­жем, как уста­но­вить Python под Windows и как с ним рабо­тать. Для MacOS всё почти то же самое, а если у вас Linux, то вы луч­ше нас зна­е­те, как это сде­лать.

Скачивание и установка

Несмот­ря на то, что Python 3 вышел 10 лет назад, до сих пор мно­гие спо­рят про то, какую вер­сию луч­ше исполь­зо­вать — вто­рую или тре­тью. Мы за про­гресс, поэто­му кача­ем Python 3, но вы може­те выбрать любую дру­гую.

На глав­ной стра­ни­це сра­зу видим боль­шую жёл­тую кноп­ку, на кото­рой напи­са­но «Download Python». Нажи­ма­ем, сохра­ня­ем и запус­ка­ем файл. Он весит око­ло 25 мега­байт.

Боль­шая жёл­тая кноп­ка, кото­рая отве­ча­ет за послед­нюю вер­сию Python. Уста­нов­щик спра­ши­ва­ет, как уста­но­вить — всё сра­зу или хоти­те что-то настро­ить? Выби­ра­ем пер­вый вари­ант — Install Now. В кон­це уста­нов­ки про­грам­ма пред­ло­жит убрать огра­ни­че­ние на дли­ну одной слу­жеб­ной пере­мен­ной. Она отве­ча­ет за то, что­бы вы или дру­гая про­грам­ма мог­ли запу­стить Python почти из любо­го места. Для это­го нуж­но нажать текст в рам­ке. Боль­шая жёл­тая кноп­ка, кото­рая отве­ча­ет за послед­нюю вер­сию Python. Уста­нов­щик спра­ши­ва­ет, как уста­но­вить — всё сра­зу или хоти­те что-то настро­ить? Выби­ра­ем пер­вый вари­ант — Install Now. В кон­це уста­нов­ки про­грам­ма пред­ло­жит убрать огра­ни­че­ние на дли­ну одной слу­жеб­ной пере­мен­ной. Она отве­ча­ет за то, что­бы вы или дру­гая про­грам­ма мог­ли запу­стить Python почти из любо­го места. Для это­го нуж­но нажать текст в рам­ке.

Когда уста­нов­ка закон­чит­ся, нуж­но про­ве­рить, что всё было сде­ла­но пра­виль­но. Для это­го в команд­ной стро­ке набе­ри­те py (лати­ни­цей) или python и нажми­те кла­ви­шу вво­да. Если всё хоро­шо, в ответ Python вам напи­шет номер сво­ей вер­сии и сбор­ки и пред­ло­жит несколь­ко команд для зна­ком­ства с собой:

Запуск программ

Пока наш Python может рабо­тать толь­ко через команд­ную стро­ку — какие коман­ды вве­дё­те, те он и выпол­нит. Мно­гим раз­ра­бот­чи­кам это нра­вит­ся, но для стар­та это неудоб­но. Напри­мер, что­бы запу­стить про­грам­му, нуж­но напи­сать в команд­ной стро­ке так:

Пол­ное имя озна­ча­ет, что нуж­но напи­сать не толь­ко назва­ние фай­ла, но и диск с пап­кой, где он нахо­дит­ся. Что­бы было понят­нее, давай­те возь­мём наш код из ста­тьи про тай­мер на Python и сохра­ним его в фай­ле time.py3 на дис­ке D. Py3 озна­ча­ет, что внут­ри это­го фай­ла будет код на Python3. Мож­но про­сто назвать файл python.py, без трой­ки, но для неко­то­рых момен­тов это может быть важ­но.

Теперь, что­бы запу­стить наш код, напи­шем в команд­ной стро­ке:

Резуль­тат рабо­ты — выпол­нен­ный алго­ритм:

Подключаем VS Code

Мы уже рас­ска­зы­ва­ли об этом редак­то­ре кода — он быст­рый, бес­плат­ный и есть мно­го пла­ги­нов. Что­бы рабо­тать с Python-файлами было про­ще, научим VS Code пони­мать и запус­кать их. Для это­го нам нуж­но най­ти и уста­но­вить спе­ци­аль­ный пла­гин для это­го язы­ка. Откры­ва­ем вклад­ку Рас­ши­ре­ния (Extensions) и пишем такое:

В резуль­та­тах поис­ка нахо­дим Python и нажи­ма­ем Install:

Затем то же самое дела­ем для под­свет­ки син­так­си­са: пишем в Рас­ши­ре­ни­ях коман­ду ext:py3 и уста­нав­ли­ва­ем пла­гин MagicPython. После это­го пере­за­пус­ка­ем VS Code, откры­ва­ем наш файл и нажи­ма­ем F5. Когда выпа­да­ю­щее окош­ко спро­сит, с чем будем рабо­тать — выби­ра­ем Python. В ито­ге мы полу­ча­ем редак­тор кода с нуж­ной нам под­свет­кой син­так­си­са и резуль­та­том рабо­ты в том же окне. Кра­со­та!


Но до каких пор эта тенденция будет сохраняться? Когда Python в конечном итоге будет заменён другими языками и почему это неизбежно произойдёт?


Перевод сделан при поддержке компании EDISON.

Мы очень любим и широко используем Python! ;-)

Что делает Python популярным сегодня


Упоминаемость на StackOverflow некоторых популярных языков программирования — динамика изменений по годам. Показатели Python неуклонно растут, у конкурентов — снижаются.

В то время как R в течение последних нескольких лет находился на плато, а показатели многих других языков неуклонно снижаются, рост Python кажется неудержимым. Почти 14% всех вопросов StackOverflow помечены как «python», и эта тенденция только растёт. И тому есть ряд причин.

Проверен временем

Python существует ещё с девяностых. Речь не только о том, что у него было предостаточно времени для роста. А также о том, что сформировалось большое и поддерживающее сообщество.

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

Дружелюбен к новичкам

И дело не только в том, что язык существует уже несколько десятилетий, за которые программисты написали ряд блестящих учебников. Синтаксис Python ещё и очень удобочитаем.

Во-первых, нет необходимости указывать тип данных. Вы просто объявляете переменную — из контекста Python поймет, является ли она целым числом, значением с плавающей запятой, логическим значением или чем-то ещё. Это огромное подспорье для начинающих. Если вам когда-либо приходилось программировать на C++, то вы знаете, как это грустно, когда программа не компилируется только из-за того, что где-то вместо числа с плавающей запятой подставлено целое.

И если вам когда-либо приходилось сравнивать код на Python и C++, то знаете, насколько более понятным выглядит Python. Несмотря на то, что C++ спроектирован с учётом английского языка, это весьма сложное чтение по сравнению с питоновским кодом.

Универсален

Python существует уже долгое время, за которое разработчики создали много библиотек на все случаи жизни. В наши дни практически для всего можно найти требуемый инструмент.

Много чисел, векторов и матриц? NumPy в помощь.
Техническо-инженерные расчёты? Используйте SciPy.
Анализ больших данных? Pandas разберётся.
Машинное обучение, нейронные сети, ИИ? Почему бы не Scikit-Learn?

С какой бы вычислительной задачей вы ни столкнулись, есть вероятность, что для неё есть пакет Python. Это позволяет языку держаться в тренде, что заметно по набирающей популярности машинного обучения за последние несколько лет.

Недостатки Python — и могут ли они похоронить язык

Воодушевившись текущим положением дел, можно вообразить, что Python — это всерьёз и надолго. Но, как и у любой технологии, у Python есть свои слабые стороны. Рассмотрим по порядку самые важные недостатки, и оценим, являются ли они фатальными или нет.

Скорость

Питон медленный. Не, ну реально медленный. В среднем задача выполняется в 2–10 раз дольше чем на языках-конкурентах.

Тому есть причины. Во-первых, динамическая типизация — помните, выше мы говорили, что очень удобно, когда не нужно указывать типы данных, как в других языках? Обратной стороной медали является необходимость в использовании большого количества памяти, потому что программе необходимо резервировать достаточно места для каждой переменной, чтобы она работала в любом случае. И память «с запасом» приводит к большему расходованию вычислительного времени.

Во-вторых, Python может одновременно выполнять только одну задачу. Это тоже является следствием гибких типов данных — Python должен убедиться, что каждой переменной соответствует только один тип данных, и параллельные процессы могут этому помешать.

Но, по большому счёту, скорость не имеет решающего значения. Производительные компьютеры и серверы настолько доступны, что речь разве что идёт о долях секунды. Конечному пользователю все равно, загружается его приложение за 0,001 или же за 0,01 секунды.

Область видимости

Изначально Python был динамически ограничен. Это в основном означает, что для оценки выражения компилятор сначала ищет текущий блок, а затем последовательно все вызывающие функции.

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

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

Лямбда-функции

Несмотря на всю гибкость Python, использование лямбда довольно ограничено. Они могут быть только выражениями в Python, но не операторами.

С другой стороны, объявления переменных и операторы всегда являются операторами. Это означает, что лямбды не могут быть использованы для них.

Это различие между выражениями и утверждениями довольно произвольно и не встречается в других языках.


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

Пробелы и табуляция

В Python пробелы и табуляция используется для обозначения разных уровней кода. Это делает его визуально привлекательным и интуитивно понятным.

В других языках, например в C++, для вложенных структур используются фигурные скобки с точкой с запятой. Хотя это может не так красиво и неудобно для начинающих, это делает код более удобным для сопровождения. С ростом проекта значение такого подхода тоже возрастает.

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

Мобильная разработка

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

Но мобильных приложений на Python раз два и обчёлся. Это не значит, что это вообще невозможно — для этого есть пакет под названием Kivy.

Python не был создан для мобильных устройств. Даже если он и может дать приемлемые результаты для решения базовых задач в этой области, лучше всего использовать язык, заточенный под разработку мобильных приложений. Некоторые широко используемые платформы программирования для мобильных устройств включают в себя React Native, Flutter, Iconic и Cordova.

Конечно, ноутбуки и настольные ПК ещё будут использоваться долгие годы. Однако мобильные устройства уже давно превосходят настольный трафик. Можно уверенно утверждать, что изучение Python недостаточно, чтобы считаться опытным всесторонним разработчиком.

Ошибки времени выполнения

Сначала отдельно компиляция, затем выполнение — так в каких-то других языках, но не в Python. Вместо этого код компилируется всякий раз, когда исполняется, поэтому любая ошибка в коде проявляется во время выполнения программы. Это приводит к снижению производительности, лишнему расходу времени и необходимости большого количества тестов. Больше тестов богу тестов!

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

Что может заменить Python в будущем — и когда

На рынке языков программирования появилось несколько новых конкурентов:

  • Rust предлагает тот же протокол безопасности, что и Python — никакая переменная не может быть случайно перезаписана. При этом решена проблема производительности наряду с реализацией концепции владения и заимствования. Согласно StackOverflow Insights, он также входит в число самых любимых языков программирования последних лет.
  • Go отлично подходит для начинающих, как и Python. Это так просто, а поддерживать код еще проще. Интересный момент: разработчики Go — одни из самых высокооплачиваемых программистов на рынке.
  • Julia это очень новый язык, который напрямую конкурирует с Python. Он заполняет пробел в крупномасштабных технических вычислениях: обычно можно было использовать Python или Matlab, выполняя часть задач (подчас — весьма значительную часть) с помощью библиотек C++. Теперь вместо жонглирования двумя языками можно просто использовать Julia.


Упоминаемость на StackOverflow для Go/Rust/Julia — динамика изменений по годам. Показатели пока скромные, но у этих языков устойчивый восходящий тренд.

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

Какой из языков это будет — Rust, Go, Julia или ещё какой-то новый язык будущего — трудно сказать на данный момент. Но, учитывая проблемы с производительностью, которые являются фундаментальными для Python из-за его архитектуры, рано или поздно неизбежное случится.

Проблемы при установке пакета с помощью установщика pip

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

Распространенная причина проблем — попытка установки в расположение, для которого у вас нет разрешения на изменение. Например, для расположения установки по умолчанию могут потребоваться права администратора, но по умолчанию в Python их нет. Лучшее решение — создать виртуальную среду и установить пакет в ней.

Некоторые пакеты содержат машинный код, для установки которого требуется компилятор C или C++. Как правило, разработчики пакетов должны публиковать предварительно скомпилированные версии, но зачастую они этого не делают. Некоторые из этих пакетов могут работать, если установить средства сборки для Visual Studio и выбрать вариант C++, но в большинстве случаев необходимо обратиться к разработчику пакета.

Проблемы при установке pip с помощью WSL

При исследовании этой проблемы вы можете пойти несколькими путями, ни один из которых не работает с дистрибутивом WSL Linux достаточно продуктивно (предупреждение: в WSL не изменяйте файл resolv.conf , так как он является символьной ссылкой, при изменении которой может возникнуть уязвимость для червей). Если вы не используете неоригинальный брандмауэр, возможное решение — переустановить pip:

*Дальнейшее обсуждение можно найти в репозитории продуктов WSL в GitHub. Благодарим наше сообщество пользователей за добавление сведений об этой проблеме в документацию.

Что такое py.exe?

На компьютере может быть установлено несколько версий Python, потому что вы работаете с различными типами проектов Python. Так как все версии применяют команду python , может быть неясно, какая версия Python используется. В качестве стандарта рекомендуется использовать команду python3 (или python3.7 ), чтобы выбрать конкретную версию.

Почему при запуске python.exe открывается Microsoft Store?

Чтобы помочь новым пользователям найти хорошую установку Python, мы добавили ярлык для Windows, который сразу же переведет вас к последней версии пакета сообщества, опубликованного в Microsoft Store. Этот пакет можно легко установить без прав администратора, и он заменит команды по умолчанию python и python3 на реальные.

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

Вы можете отключить ярлыки, не устанавливая Python. Для этого откройте в меню "Пуск" раздел Manage app execution aliases (Управление псевдонимами выполнения приложений), найдите записи "Установщик приложений" для Python и переключите их в режим "Отключено".

Почему пути к файлам не работают в Python, когда я копирую и вставляю их?

В строках Python для специальных символов используются escape-знаки. Например, чтобы вставить символ новой строки в строку, введите \n . Так как пути к файлам в Windows используют символы обратной косой черты, некоторые части могут быть преобразованы в специальные символы.

Чтобы вставить путь в виде строки в Python, добавьте префикс r . Это означает, что это строка raw , и escape-символы не будут использоваться, за исключением "" (вам может потребоваться удалить последний символ обратной косой черты в пути). Так что ваш путь может выглядеть следующим образом: r"C:\Users\MyName\Documents\Document.txt" .

При работе с путями в Python рекомендуется использовать стандартный модуль pathlib. Это позволит вам преобразовать строку в расширенный объект Path, который может последовательно выполнять манипуляции с путями, независимо от того, использует ли он символ косой или обратной косой черты, что улучшает выполнение вашего кода в разных операционных системах.

Что такое PYTHONPATH?

Переменная среды PYTHONPATH используется в Python для указания списка каталогов, из которых можно импортировать модули. При запуске можно проверить переменную sys.path , чтобы узнать, по каким каталогам будет выполняться поиск при импорте чего-либо.

Чтобы задать эту переменную из командной строки, используйте: set PYTHONPATH=list;of;paths .

Чтобы задать эту переменную из PowerShell, используйте $env:PYTHONPATH=’list;of;paths’ непосредственно перед запуском Python.

Глобальная установка этой переменной через параметры Переменные среды****не рекомендуется, так как она может использоваться любой версией Python вместо нужной.

Где можно найти справку по упаковке и развертыванию?

Расширение VS Code для Docker помогает быстро упаковать и развернуть шаблоны Dockerfile и docker-compose.yml (создайте соответствующие файлы Docker для проекта).

Служба Azure Kubernetes (AKS) позволяет развертывать контейнерные приложения и управлять ими при масштабировании ресурсов по требованию.

Что делать, если мне нужно работать на разных компьютерах?

Синхронизация параметров позволяет синхронизировать параметры VS Code в разных установках с помощью GitHub. Если вы работаете на разных компьютерах, это обеспечит согласованность среды между ними.

Что делать, если я использую PyCharm, Atom, Sublime Text, Emacs или Vim?

Расширение VS Code Keymaps может содействовать эффективной работе вашей среды.

Насколько сочетания клавиш в Mac соответствуют сочетаниям клавиш в Windows?

Некоторые кнопки клавиатуры и системные сочетания клавиш в компьютерах Windows и Macintosh несколько отличаются друг от друга. В этом руководстве по переходу с Mac на Windows рассматриваются основные сведения.

Python сейчас везде. Все его любят, хвалят и рекомендуют как первый язык программирования. Откуда такой ажиотаж и стоит ли вам тоже учиться этому языку? Разберёмся.

1. Чистый и понятный синтаксис

Первое, что отмечает большинство разработчиков, когда начинаются разговоры про Python — безупречный и аккуратный код. Чтобы оформить любой логический блок — например, содержимое функции — просто используют отступы и пробелы. Не нужно проверять, не потерялась ли по пути лишняя скобка — всё видно сразу. Одна команда занимает одну строку, поэтому разделители команд тоже не нужны.

Посмотрите, как изящно выглядит такой синтаксис:

2. Простота программирования

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

3. Классные библиотеки

В какой бы области вы ни делали проект, скорее всего, для этого уже есть готовая Python -библиотека. Обработка изображений, математика, распознавание речи — для всего есть инструменты.

Чтобы вы понимали, насколько это универсальный язык, посмотрите, для чего используют Python -фреймворки:

NumPy — машинное обучение и искусственный интеллект;

Django и Flask — веб-разработка и веб-приложения (например, Pinterest, YouTube и Instagram написаны на Django);

SQLAlchemy — базы данных и обработка больших объёмов информации;

Cocos2d — мобильные и браузерные игры;

Tornado — приложения, которые требуют высокой производительности и должны работать одновременно с сотней тысяч пользователей;

Bubot — программирование робототехники, как вариант — использование на Raspberry Pi.

4. Запускается везде

Python можно запустить практически на любой платформе — от КПК до серверов — и на любой операционной системе. Правда, есть естественные ограничения. Как только платформа полностью устаревает и перестаёт использоваться (например, Windows 95), прекращается её поддержка в новых версиях языка.

Более того, существует специальная версия Python для виртуальной машины Java — Jython . С её помощью можно выполнять код на любой системе, которая поддерживает Java (то есть на чём угодно, умнее утюга, но и на некоторых утюгах тоже).

5. Своя дзен-философия

Считается, что философию Python придумал Тим Петерс, и этой философии стараются придерживаться все, кто серьёзно относится к программированию на Python . Она описывает принципы, которые следует использовать каждому разработчику. Там есть такие прекрасные строки как «Красивое лучше, чем уродливое», «Читаемость имеет значение» и «Особые случаи не настолько особые, чтобы нарушать правила».

Чтобы вызвать полный текст The Zen of Python, используют команду import this .

С чего начать

Официальный сайт языка Python — там вся документация (на английском, если не знаете — пользуйтесь Яндекс-переводчиком), примеры кода и всё, что нужно знать про язык в целом.

На курсе Яндекс-практикума «Как стать аналитиком данных» можно изучить основы Python и получить новую профессию.

Книга Марка Лутца «Изучаем Python» идеальна для новичков: расписано всё, что нужно.

Читайте также: