Нужен ли 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» идеальна для новичков: расписано всё, что нужно.
Читайте также: