Linux или windows для python

Какую операционную систему использовать для разработки на Python?

Любую из распространенных. Python прекрасно адаптирован и под Linux и под Windows.
А с появление на Windows 10 подсистемы Ubuntu Linux Subsystem — вообще полная идентичность для утилит командной строки.

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

Linux нормально сочетается с языками программирования.
Кроме .NET — это вам к Windows
Кроме разработки под Apple — это вам к MacOSX

Для перехода я бы предложил самый допиленный под десктопное использование дистрибутив — Ubuntu Linux.

Правда целесообразность этого перехода мне представляется сомнительной.
Все равно среда Linux на сервере (администрирование через конфигурационные файлы) отличается от того, как вы будете администрировать свой личный комп (через GUI).

А для идентичной серверной среды следует использовать Vagrant, Docker, виртуальные машины — на любой операционной системе. Даже если вы работаете под Linux — их использование целесообразно для достижения полной идентичности серверной среде.

Из недостатков Linux — кривоватый графический интерфейс. Который не дотягивает ни до Window, ни до MacOSX. Но с этим можно мириться.

Из возможно вам не очевидных недостатков — запуск под Linux программ предназначенных для Windows будет или вообще невозможет, или совмещен с большими трудностями. То есть придется отказаться от любимых Windows-игр и от ряда программ, таких как Photoshop, например.

Какую операционную систему использовать для разработки на Python?

Любую из распространенных. Python прекрасно адаптирован и под Linux и под Windows.
А с появление на Windows 10 подсистемы Ubuntu Linux Subsystem — вообще полная идентичность для утилит командной строки.

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

Linux нормально сочетается с языками программирования.
Кроме .NET — это вам к Windows
Кроме разработки под Apple — это вам к MacOSX

Для перехода я бы предложил самый допиленный под десктопное использование дистрибутив — Ubuntu Linux.

Правда целесообразность этого перехода мне представляется сомнительной.
Все равно среда Linux на сервере (администрирование через конфигурационные файлы) отличается от того, как вы будете администрировать свой личный комп (через GUI).

А для идентичной серверной среды следует использовать Vagrant, Docker, виртуальные машины — на любой операционной системе. Даже если вы работаете под Linux — их использование целесообразно для достижения полной идентичности серверной среде.

Из недостатков Linux — кривоватый графический интерфейс. Который не дотягивает ни до Window, ни до MacOSX. Но с этим можно мириться.

Из возможно вам не очевидных недостатков — запуск под Linux программ предназначенных для Windows будет или вообще невозможет, или совмещен с большими трудностями. То есть придется отказаться от любимых Windows-игр и от ряда программ, таких как Photoshop, например.

Изучение Python более важно по сравнению с ОС. Linux упрощает использование python, потому что в отличие от Windows, вам не нужно выполнять многие этапы установки. И при работе в Linux легко переключаться между версиями python. … Python работает и может быть без проблем написан на обеих платформах.

Хотя при кросс-платформенной работе Python нет видимого влияния на производительность или несовместимости, преимущества Linux для разработки на Python намного превосходят Windows. Это намного удобнее и определенно повысит вашу продуктивность.

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

Какая ОС лучше всего подходит для разработки на Python?

Ubuntu — самый большой дистрибутив, linux mint основан на ubuntu, но среда рабочего стола больше похожа на windows xp / vista / 7. Оба варианта — прекрасный выбор. Чтобы стать лучшей программой на Python, программируйте на Python (например, войны кодов) и пишите сценарии для крутых вещей и автоматизации задач.

Стоит ли изучать Linux раньше Python?

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

Используется ли Python в Linux?

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

Нужен ли мне Linux для программирования?

Мы увидим преимущества Linux перед Windows, что поможет вам выбрать правильную ОС для программирования или веб-разработки. … Однако, если вы думаете о программировании или веб-разработке, дистрибутив Linux (например, Ubuntu, CentOS и Debian) — лучшая операционная система для начала.

Какие недостатки у Linux?

Недостатки ОС Linux:

  • Нет единого способа упаковки программного обеспечения.
  • Нет стандартной среды рабочего стола.
  • Плохая поддержка игр.
  • Программное обеспечение для настольных ПК по-прежнему встречается редко.

Какая операционная система лучше всего подходит для кодирования?

1. GNU / Linux — очень популярная операционная система для разработчиков программного обеспечения.

  • GNU / Linux, несомненно, является самой популярной операционной системой для разработки программного обеспечения. …
  • Linux поставляется с большим выбором дистрибутивов (называемых в торговле дистрибутивами). …
  • Ubuntu — еще одна очень популярная операционная система для разработчиков программного обеспечения.

28 июн. 2020 г.

Почему программисты предпочитают Linux?

Программисты предпочитают Linux за его универсальность, безопасность, мощность и скорость. Например для создания собственных серверов. Linux может выполнять многие задачи, аналогичные или в определенных случаях лучше, чем Windows или Mac OS X.

YouTube написан на Python?

«Python был важной частью Google с самого начала и остается таковой по мере роста и развития системы. … YouTube — большой пользователь Python, весь сайт использует Python для разных целей: просмотр видео, управление шаблонами для веб-сайта, администрирование видео, доступ к каноническим данным и многое другое.

Сколько оперативной памяти мне нужно для Python?

Вы сможете легко скомпилировать Python даже с 1 ГБ оперативной памяти. Однако, если у вас выполняется много других процессов, например, много окон браузера, я бы выбрал как минимум 4 ГБ.

Может ли мой компьютер запустить Python?

Фактически, Python доступен в различных операционных системах, включая Windows, Linux и Mac OS. … Некоторые операционные системы ограничены ноутбуками, с которыми они доступны, так что это тоже поможет покупателям.

Стоит ли изучать Java или Python?

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

Стоит ли изучать C ++ или Python?

Выводы. Сравнение Python и C ++ приводит к одному выводу: Python лучше для новичков с точки зрения его легко читаемого кода и простого синтаксиса. Кроме того, Python — хороший вариант для веб-разработки (серверная часть), в то время как C ++ не очень популярен в веб-разработке любого вида.

Сколько времени потребуется, чтобы изучить Linux?

Наряду с другими рекомендациями я бы посоветовал взглянуть на The Linux Journey и The Linux Command Line Уильяма Шоттса. И то, и другое — фантастические бесплатные ресурсы по изучению Linux. Как правило, опыт показывает, что для овладения новой технологией обычно требуется около 18 месяцев.

Python – перспективный и востребованный язык. Он был разработан в 1991 году, и с тех пор завоевал огромную популярность. Уже несколько лет Пайтон уверенно лидирует во всех рейтингах языков программирования. Это закономерно – язык удачно совместил в себе несколько важных преимуществ:

  1. Простоту изучения – Пайтон считается лучшим языком для начинающих.
  2. Понятный, гибкий, интуитивный синтаксис – код легко писать, читать и модифицировать.
  3. Универсальность – Python подходит для создания любых программ, кроме тех приложений, которым требуется высокая производительность и прямое взаимодействие с «железом».
  4. Возможность использования в самых перспективных сферах разработки – от искусственного интеллекта до интернета вещей.
  5. Беспроблемную интеграцию с любыми другими языками и технологиями:
  • фрагменты Python-приложений, которым необходима высокая скорость исполнения, можно писать на C, C++ или Java;
  • на Python часто пишут код, связывающий разнообразные службы и компоненты на крупных платформах;
  • серверная часть веб-приложений на Python прекрасно сочетается с любыми фреймворками, на которых пишут пользовательские интерфейсы.

Рейтинг популярности языков программирования <a href="https://www.tiobe.com/tiobe-index/" target="_blank" rel="noopener noreferrer nofollow">TIOBE</a>

Рейтинг популярности языков программирования TIOBE

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

Помимо длинного списка преимуществ, Пайтон известен несколькими недостатками. Главные из них:

  1. Низкая (по сравнению с C++ и Java) производительность. По этой причине на Python не пишут игры и другие приложения, для которых критична максимальная скорость исполнения. Пайтон также не подходит для решения большинства олимпиадных задач, которые предусматривают ограничения по скорости выполнения и объему используемой памяти.
  2. Высокое потребление системных ресурсов. Даже самая простая игра на Пайтон будет загружать процессор и оперативную память гораздо сильнее, чем аналогичное приложение на C++ или Java.
  3. Выделение блоков кода пробелами. В отличие от других языков, функциональные блоки в Python выделяются пробелами. Использование табуляции допускается, но не рекомендуется, поскольку при смешивании пробелов и табуляции в одной программе интерпретатор выдает ошибку. Лишний или недостающий пробел также вызовет ошибку.
  4. Открытый, некомпилированный код готовых приложений и скриптов. Python – интерпретируемый язык, программы на нем обычно не компилируются в .exe файлы, и пользователи могут случайно повредить код. Кроме того, для запуска некомпилированных Пайтон-программ требуется установка интерпретатора. Эту проблему можно решить упаковкой Python-приложения в exe-файл, но такой метод не является компиляцией в полном смысле этого слова.

Где скачать Питон и как установить

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

Способ 1: Отдельная установка. Понадобится установочный файл, скачанный с официального сайта. Выберите нужную платформу – в соответствующих разделах выложены релизы Python для Windows, для macOS и для других поддерживаемых ОС. Во время установки интерпретатора будет также установлена базовая среда разработки – ее можно запустить, кликнув в меню по IDLE. Но эта среда не отличается удобством и подходит лишь для запуска небольших скриптов.

Стандартная IDLE Python не отличается большим набором опций

Стандартная IDLE Python не отличается большим набором опций

Гораздо удобнее писать и запускать программы на Python в специализированной IDE (интегрированной среде разработки) вроде PyCharm или Wing, либо в универсальном редакторе кода – например, Sublime Text, Vim или Visual Studio Code. Редактор или IDE устанавливают после установки Python.

Способ 2: Установка в составе IDE. Минималистичная IDE Thonny автоматически устанавливает Python. Это оптимальный способ для начинающих:

  • не нужно устанавливать дополнительные плагины, как при использовании универсальных редакторов;
  • не придется выбирать нужную версию интерпретатора, как при установке PyCharm;
  • не потребуются никакие дополнительные настройки – сразу после установки можно писать и запускать код.

Thonny устанавливает Пайтон самостоятельно

Thonny устанавливает Пайтон самостоятельно

Способ 3: Установка вместе с пакетом Anaconda или Miniconda. Эти пакеты, помимо интерпретатора Python, включают в себя множество модулей для научных расчетов, а в качестве IDE используют Spyder. Если вы не планируете писать программы для научных и инженерных вычислений, лучше остановить выбор на первом или втором способе.

Spyder в комплекте с Anaconda или Miniconda отлично подходит для инженерных расчетов

Spyder в комплекте с Anaconda или Miniconda отлично подходит для инженерных расчетов

Как установить Python на Windows

Установка Python в составе специализированной IDE вроде Thonny не вызовет затруднений – достаточно принять условия лицензионного соглашения и нажать кнопку Install. Если же вы хотите писать и запускать код в редакторе Visual Studio Code или в IDE PyCharm, сначала придется скачать и установить нужную версию интерпретатора. Установить Python на Windows очень просто:

  • кликните по скачанному с официального сайта файлу;
  • выберите Install Now;
  • не забудьте отметить опцию Add Python 3.x to PATH.

Обязательно добавьте Пайтон в переменную окружения <b>PATH</b>

Обязательно добавьте Пайтон в переменную окружения PATH

Обратите внимание: последняя версия, работающая на Windows 7 – Python 3.8.11.

Установка Python на macOS

Операционная система macOS включает интерпретатор Python по умолчанию. Но, скорее всего, версия окажется безнадежно устаревшей – macOS, начиная с 10.8 и заканчивая 12.3., поставлялась с Python 2.7. Проверить версию можно в терминале с помощью команды python --version.

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

Установить Python на macOS так же просто, как на Windows

Установить Python на macOS так же просто, как на Windows

После завершения установки папка с Python откроется автоматически.

Можно запускать IDLE

Можно запускать IDLE

Установка Python на Ubuntu

Практически все ОС семейства Linux поставляются с Python. Проверить версию интерпретатора на Ubuntu можно с помощью команды: python3--version. Если нужна более свежая версия Python, интерпретатор придется обновить. Откройте терминал (CTRL + ALT + T) и выполните последовательно эти команды:

        sudo apt update && sudo apt upgrade -y
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.10

    

Проверьте успешность установки:

        $ python3.10 --version
3.10.4

    

Настройка Visual Studio Code для работы с Python в среде macOS

Visual Studio Code – один из самых популярных редакторов кода. VS Code также можно рассматривать, как простую IDE – там есть набор инструментов для автозавершения кода и отладки программ. Скачайте установочный файл, дважды кликните, чтобы открыть архив:

Архив с VS Code

Архив с VS Code

И перенесите редактор в приложения:

Для установки достаточно перенести файл в <b>Applications</b>

Для установки достаточно перенести файл в Applications

Теперь нужно открыть редактору доступ в папку, где хранятся программы и скрипты на Python. Создайте папку на рабочем столе, затем откройте ее в VS Code. Редактор запросит разрешение на доступ – нажмите ОК:

VS Code нужен доступ к папке с программами на Python

VS Code нужен доступ к папке с программами на Python

Если появится вопрос, доверяете ли вы авторам скриптов, находящихся в папке – ответьте утвердительно:

Стандартный вопрос о доверии к авторам скриптов

Стандартный вопрос о доверии к авторам скриптов

Теперь нужно установить расширение для работы с программами на Python. Проще всего предоставить редактору сделать это самостоятельно. Для этого создайте файл с расширением .py в папке, к которой уже предоставили доступ. VS Code автоматически обнаружит новый тип расширения и предложит установить плагин (справа внизу):

Запрос на установку расширения

Запрос на установку расширения

Нажмите Install для запуска установки:

Установка расширения для Python в VS Code

Установка расширения для Python в VS Code

Другой способ установить плагин для работы с Python-кодом – выбрать его из списка доступных расширений на маркетплейсе:

Установка из маркетплейса

Установка из маркетплейса

Осталось выбрать нужную версию интерпретатора Python. Нажмите на кнопку Select Python Interpreter:

Выбор интерпретатора

Выбор интерпретатора

Затем выберите рекомендованную (самую свежую версию) из доступных:

Если в списке будет несколько версий – выбирайте самую свежую

Если в списке будет несколько версий – выбирайте самую свежую

Второй способ подключить нужную версию интерпретатора – нажать CMD + SHIFT + P, напечатать Python, и выбрать Select Interpreter.

Настройка Visual Studio Code для работы с Python в среде Windows

Скачайте установочный файл с официального сайта. Дважды кликните по файлу для запуска мастера установки. После завершения установки VS Code автоматически запустится. Нажмите комбинацию клавиш Ctrl + Shift + X, чтобы открыть Расширения. Это также можно сделать из меню – выберите Обзор и затем Расширения:

Расширения в VS Code для Windows

Расширения в VS Code для Windows

Введите python в поле поиска, затем выберите расширение Python, подписанное Майкрософт – обычно это первый плагин в списке найденных. Нажмите на кнопку Установка:

Нужное расширение опубликовано Майкрософт

Нужное расширение опубликовано Майкрософт

После установки расширения кнопка изменится на значок ⚙Параметры. Как правило, VS Code автоматически распознает интерпретатор Python. Если этого не произошло, либо нужно подключить другую версию – наберите Python: Select Interpreter в строке состояния (status bar) и выберите нужный вариант.

Выбор нужного интерпретатора в строке состояния

Выбор нужного интерпретатора в строке состояния

Настройка PyCharm

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

Выбрать интерпретатор для отдельного проекта можно из строки состояния (status bar):

Выбор нужной версии интерпретатора из строки состояния

Выбор нужной версии интерпретатора из строки состояния

Также можно выбрать нужную версию Python, нажав Ctrl + Alt + S, и перейдя в настройки проекта: Project название проекта > Python Interpreter. Чтобы просмотреть список всех установленных интерпретаторов, нажмите Show All:

Show All покажет все установленные интерпретаторы

Show All покажет все установленные интерпретаторы

Чтобы выбрать интерпретатор для всех новых проектов по умолчанию:

  1. На Windows и Linux откройте в меню File > New Projects Setup > Settings for New Projects.
  2. На macOS перейдите в File > New Projects Setup > Preferences for New Projects.

Затем в настройках Python Interpreter выберите один из установленных интерпретаторов, либо кликните по значку-шестеренке, чтобы загрузить новый.

Интерпретаторы Python онлайн

Самый известный из таких интерпретаторов – проект Jupyter Notebook. Запускать программы на Питоне можно прямо на странице:

<b>Jupyter Notebook</b> исполняет код в браузере

Jupyter Notebook исполняет код в браузере

При желании Jupyter Notebook можно установить на свой компьютер с помощью команды pip install notebook. Если во время установки появится сообщение о том, что на компьютере нет Rust, его можно скачать здесь. Запускают Jupyter Notebook командой jupyter notebook, после чего блокнот можно открыть в браузере по ссылке http://localhost:8888/tree.

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

  • Replit – позволяет подключать любые библиотеки, загружать нужные файлы и базы данных.
  • Python Online Compiler – простой интерпретатор, отлично подойдет для новичков.
  • Online Python – удобный и простой интерпретатор.
  • Online Python 3 IDE – поддерживает совместную разработку.
  • Online Python Interpreter – предоставляет возможность сохранять и скачивать проекты.

Онлайн-интерпретатор работает в любом браузере

Онлайн-интерпретатор работает в любом браузере

Подведем итоги

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

***

📖 Содержание самоучителя

  1. Особенности, сферы применения, установка, онлайн IDE
  2. Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
  3. Типы данных: преобразование и базовые операции
  4. Методы работы со строками
  5. Методы работы со списками и списковыми включениями
  6. Методы работы со словарями и генераторами словарей
  7. Методы работы с кортежами
  8. Методы работы со множествами
  9. Особенности цикла for
  10. Условный цикл while
  11. Функции с позиционными и именованными аргументами
  12. Анонимные функции
  13. Рекурсивные функции
  14. Функции высшего порядка, замыкания и декораторы

Petroleum
Не пойму, чем линукс лучше?

Линукс ничем не лучше и не хуже, как таковой. Россказни о том, что линукс не ломается, что он супернадёжный и стабильный — это байки дядюшки Римуса. В чем практическая польза от использования линукса для питон-программиста:
1. Во всех распространенных дистрибутивах линукса питон — неотъемлемая часть операционной системы, он уже установлен, настроен и готов к работе.
2. Умение работать с консолью — важный навык для любого ИТ-специалиста. В мире виндовс консоль используют только для нетривиальных задач или каких-то аварийных случаев, поэтому масса начинающих программистов (из тех, что не видели живого MS-DOS) с консолью работать не умеют, команд не знают и такого навыка не приобретают. Однако, для программиста очень важно уметь работать с текстовым интерфейсом. Какую бы крутую ИДЕ вы не использовали, так или иначе придется многое делать вручную из командной строки, и в этом плане линукс лучше тем, что имеет из коробки очень мощный хорошо документированный командный интерпретатор bash.
3. Документация к фреймворкам, библиотекам, веб-серверам и другим программам пишется в расчете на ИТ-специалистов, а не домохозяек, поэтому чаще всего вы увидите такие инструкции “выполните $export DISPLAY=local_host:0.0”, а не такие “Откройте панель управления, выберете пункт меню была-бла, нажмите на бал-бла” и не набор скриншотов из учебника “С++ Builder за 21 день для чайников”.
4. Дистрибуция программ в виндовс и в линукс кардинально отличается. Виндовый способ — распространение программ в виде инсталляционных пакетов удобен для нубов: скачал, кликнул мышкой и готово. В линукс ты работаешь с репозиторием пакетов. Для программиста этот способ сильно удобнее, у тебя нет вопросов типа, а где же искать недостающую библиотеку, а как её интегрировать в систему и так далее, ты просто даешь команду пакетному менеджеру и все. В виндовс нет пакетного менеджера и репозитория, поэтому проблемы с разрешением каких-то зависимостей решаются или нетривиально или не решаются вообще.
5. Если вы собираетесь программировать для веб (а если вы начинающий питонист, то скорее всего это так), то вы должны понимать, что готовый продукт вам придется размещать на сервере и дальше его поддерживать, обновлять, расширять и т.д. И тут вас ждет сюрприз: оказывается в мире серверов и прочих дорогих железок правят *nix операционки, а винда где-то там сиротливо прячется на виртуалках пропуская жалкие проценты траффика. Поэтому в мир линукса тебе погрузиться придется в любом случае.
Ну и, разумеется, вести разработку сразу на целевой системе разумнее, чем полагаться на кроссплатформенность, а потом недоумевать: а что такое, а все ж работало, а почему на сервере не работает?
6. Некоторые решения для винды просто не предназначены, тем не менее весьма распространены в мире *nix. Например, веб-сервер nginx пользующийся огромной популярностью. Читаем официальный сайт

Версия nginx под Windows использует “родной” Win32 API (не эмуляцию Cygwin). В настоящий момент в качестве метода обработки соединений используется только select(), поэтому не стоит ожидать высокой производительности и масштабируемости. Хоть и возможен запуск нескольких рабочих процессов, только один из них реально работает.
Рабочий процесс может обслуживать не более 1024 одновременных соединений.
Кэш и другие модули, требующие поддержки разделяемой памяти, не работают под Windows Vista и более поздними версиями в связи с тем, что на этих версиях Windows включена рандомизация адресного пространства.

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

Отредактировано FishHook (Ноя. 7, 2015 07:26:30)

image
Microsoft… Технологических локомотивов нашего времени. Ни для кого не секрет что они крутые, а также, что они поглощают все больше и больше…

Всего

. К счастью последнее время они только радуют меня своим потенциалом. А после выступления Satya Nadella, где он рассказал миру о том, что Windows больше не является основным продуктом компании, так как они положили курс на внедрение своих API….

Повсюду


Для разработчиков ПО они так же не скупятся. C#, Azure, Visual Studio… Но сейчас пойдет речь о Python, ведь для него местечко здесь тоже пригрели.

Кратко о WSL

С обновлением Windows появилась возможность использовать такую штуку, как WSL (Windows Subsystem for Linux). Не так давно появилась WSL2 с ОЧЕНЬ крутыми доработками. WSL2 использует новейшую и самую новую технологию виртуализации для запуска ядра Linux внутри упрощенной служебной виртуальной машины. Это значит, что такие атрибуты, как изоляция и замедление работы здесь отсутствуют.

Linux или Linux

Рано или поздно разработчик принимает решение в какой среде разрабатывать, а это, как ни как, очень и очень важный момент. Довольно важную роль играет операционная система, на которой код запускается. Ведь дело не только в компиляторе или интерпретаторе, но и в службах, которые работают в тесном и дружеском круге. А за корректность работы этих боевых единиц отвечает ядро этой ОС. Речь пойдет о Windows и Linux. И это не из разряда ЭТО лучше, а ЭТО хуже, ведь выбор редактора или системы — это не больше, чем дело вкуса в наше время. ВСЕ на сегодняшний день предоставляют массу инструментов для реализации чего-либо. Причиной того, что я отдаю предпочтение Linux – это гибкость. К сожалению, не все дополнения к Python работают на детище Microsoft. На пример: celery/redis, git, работа с локальными веб-серверами, docker….Думаю те, кто работали хотя бы с этим сталкивались с «некоторыми сложностями». Поэтому я думаю, что для любого Python-программиста работа с Linux (MacOS), мягко говоря, необходима…

Начало работы

И так Вы установили флаг в компонентах Windows,
image

и скачали любимый дистрибутив из официального магазина.
image.

После простейших манипуляций создания пользователя вы получаете доступ к терминалу Linux. Ничего необычного, если не брать в учет, то что файловые системы обеих ОС не изолированы друг от друга, в соответствии чего появляется возможность манипуляции файловой системы Windows из-под Linux. Все логические разделы доступныв точке монтирования

/mnt/c/Program Files/

.

Разработка

Теперь перейдем непосредственно к разработке. При выборе редактора я бы остался с Visual Studio Code. Он включает в себя очень много инструментов, в том числе и отладчик, что делает из него полноценную IDE. Создание виртуального окружения на разных системах отличается. К примеру, после применения команды

python -m venv venv 

на Windows создается .bat-активатор и python.exe файл, который будет использоваться в то время, как Linux копирует бинарную систему python. VS Code достаточно гибко настраиваемый с помощью расширений.

Ctrl+Shift+X

позволит быстро перейти к дополнениям. В поиске нужно ввести WSL и скачать первое расширение из списка.
image

Для удобной разработки стоит добавить Python, Git History, Django… А дальше уже чего душа пожелает.
image
image
image

После этого смело перезапускайте редактор, после чего можете открывать свой проект

File -> Open Folder

. После загрузки обратите внимание в левый нижний угол экрана.
image
Это позволит переоткрыть папку с использованием WSL
image

Разница в том, что VS Code в этом случае переключается на ядро Linux, которое является нижним слоем ядра Windows. Это позволит использовать нужный интерпритатор, а так же терминал прямо из редактора.image
image

Так же можно использовать Windows Terminal. Это значительно повысит эффективность работы, так как в него так же интегрирована WSL.image

image

В комплексе все это обеспечивает комфортную работу на Windows с возможностями Linux. А также преимущественным фактором есть то, что рабочая среда имеет доступ к основной системе, но изолирована от нее ядром и базовой файловой системой.

Get the Reddit app

Scan this QR code to download the app now

Or check it out in the app stores


Go to learnpython


r/learnpython


r/learnpython

Subreddit for posting questions and asking for general advice about your python code.




Members





Online



by

FerRabago


Windows vs Linux for python ?

What do you reccomend more and why ? :D

Top Posts


  • Reddit

    reReddit: Top posts of September 22, 2019


  • Reddit

    reReddit: Top posts of September 2019


  • Reddit

    reReddit: Top posts of 2019


I have been working on Python quite a lot recently and started reading the doc for Django, however I can’t deny the fact that most of the video tutorials I find usually shows Linux as the chosen OS. I’ve ignored this mostly, but I started to come upon some problems with people using commands such as «touch» for which I have no idea about what the equivalent is in the Windows 7 command prompt. I’ve heard about New-Item in Power Shell, however it’s messy and I am fearing that this «equivalent hunt» might come again and again…

So I started to wonder why were most of the people using Linux with Python, would be a good move (knowing that my Linux knowledge is completely null) to learn to use Linux for development purpose? Would it allow me to be more efficient at developing with Python in general? Would it be possible to list the benefits of doing so?

Steven Bluen's user avatar

asked Jul 5, 2012 at 5:43

Estarius's user avatar

1

I used Windows for quite some time for Django development, but finally figured out that Linux is simply the better way to go. Here are some reasons why:

  • some Python packages can not be installed at all or correctly in Windows OR it will create a lot of hassle for you to do so
  • if you need to deploy your Django app it makes more sense to use a Unix-flavored system, simply because its 99% likely that you deployment environment is the same. Doing a dry run on your local machine with the same configuration will save you a lot of time later on + here you are «allowed» to make mistakes.
  • If your apps gets complex its way easier in Linux to get the required dependencies, be it extensions, libraries, etc.. In Windows you end up looking for the right site to download everything and go through some hassle of installation and configuration. It took me lots of time to just search for some specific things sometimes. In Linux its often just an «apt-get» (or similiar) and you are done.
  • Did I mention that everything is faster to get and install in Linux?

Of course if your app is simple and you don’t need to care about the deployment then Windows is fine.

answered Jul 5, 2012 at 6:30

Torsten Engelbrecht's user avatar

4

Although there are some benefits in using Linux for Python development (for example, some libraries only work on Linux); there is nothing stopping you from using Windows for django work; I use it everyday and nothing has yet to crop up.

The right IDE that you are comfortable with will go a long way towards making your development experience more enjoyable. Many people use Pydev with Eclipse; but I prefer PyCharm

A lot of the tutorials will show you a Linux or Mac desktop (and shell) and you can get the equivalent commands (like touch, ls and others) by installing unixtools — which are native versions of common unix tools.

You should bookmark this website which has Windows installers for common Python libraries.

answered Jul 5, 2012 at 5:52

Burhan Khalid's user avatar

Burhan KhalidBurhan Khalid

170k18 gold badges245 silver badges285 bronze badges

It depends what operating system do you like most.
You could use Aptana 3 with pydev(included) for development.

When developing remember about use of «os» python lib for paths to dirs, so your application will work correctly under windows and linux.

For example:

PROJECT_DIR = os.path.dirname(os.path.abspath(__file__))

MEDIA_ROOT = os.path.join(PROJECT_DIR, 'site_media')

Uku Loskit's user avatar

Uku Loskit

40.9k9 gold badges93 silver badges94 bronze badges

answered Jul 5, 2012 at 5:56

Efrin's user avatar

EfrinEfrin

2,3333 gold badges25 silver badges45 bronze badges

I normally use OSX on my desktop, but I use Linux for Python because that’s how it will get deployed. Specifically, I use Ubuntu Desktop in a virtual machine to develop Python applications and I use Ubuntu on the server to deploy them. This means that my understanding of library and module requirements/dependencies are 100% transferrable to the server when I’m ready to deploy the application.

If I used OSX (or Windows) to develop Python apps I would have to deal with two different methods of handling requirements and dependencies — it’s just too much work.

My suggestion: use VMWare Player (it’s free) and find a Ubuntu VM to start learning. It’s not too complicated and is actually quite fun.

answered Jul 5, 2012 at 7:10

Raj's user avatar

RajRaj

3,8005 gold badges43 silver badges56 bronze badges

django is written in pure python, so using Windows + Eclipse + PyDev for development is enough.

if you really want to follow the cool guys using some Linux commands, then have cygwin or mingWin installed and set the system PATH to BIN directive. Then, you could use them (include your touch).

Linux is best choice for deployment of a django project, where you can easily compile / install / configure some cool things like nginx, uWSGI, mod_wsgi, Apache2, and many many useful Python C extensions.

Another reason for using Linux, is that virtual private servers, which are used to host projects, are more likely to support it.

Steven Bluen's user avatar

answered Jul 5, 2012 at 5:51

pinkdawn's user avatar

pinkdawnpinkdawn

1,02311 silver badges20 bronze badges

0

174 / 160 / 71

Регистрация: 22.02.2013

Сообщений: 1,769

Записей в блоге: 2

1

14.10.2015, 11:04. Показов 9562. Ответов 12


Студворк — интернет-сервис помощи студентам

Привет!
при просмотре(чтении) видеокурсов по python + django в основном используется Linux или Mac.
И часто упоминается, что при программировани на Python в любом случае придется переезжать на linux c Win
На сколько это так?
И до какого времени можно спокойно писать на Win?



0



Эксперт по компьютерным сетям

5890 / 3348 / 1034

Регистрация: 03.11.2009

Сообщений: 9,977

14.10.2015, 11:14

2

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



0



2740 / 2339 / 620

Регистрация: 19.03.2012

Сообщений: 8,830

14.10.2015, 11:19

3

Цитата
Сообщение от NotBeginner
Посмотреть сообщение

И часто упоминается, что при программировани на Python в любом случае придется переезжать на linux c Win

Просто прогать в linux удобно, по этому так говорят и по этому все примеры под linux.



0



174 / 160 / 71

Регистрация: 22.02.2013

Сообщений: 1,769

Записей в блоге: 2

14.10.2015, 11:38

 [ТС]

4

Jabbson, а если реальный проект (веб приложение)? то можно обойтись без установки linux ?



0



Эксперт по компьютерным сетям

5890 / 3348 / 1034

Регистрация: 03.11.2009

Сообщений: 9,977

14.10.2015, 11:40

5

Да, можно, но это всё очень индивидуально. Я бы все же выбрал удобство, чем постоянную «любовь».



0



Эксперт Python

4614 / 2035 / 359

Регистрация: 17.03.2012

Сообщений: 10,102

Записей в блоге: 6

14.10.2015, 11:55

6

На винде программируется без проблем. Единственное — придётся научиться работать с pip.



0



2740 / 2339 / 620

Регистрация: 19.03.2012

Сообщений: 8,830

14.10.2015, 15:40

7

Цитата
Сообщение от NotBeginner
Посмотреть сообщение

а если реальный проект (веб приложение)? то можно обойтись без установки linux ?

web приложение это однозначно linux и хоститься потом все равно ты будешь на linux сервере.

Добавлено через 13 минут
Вообще ты не совсем верно задал вопрос. Писать в теории ты можешь где хочешь (windows, linux и т д), но если ты пишешь web прилоежние, то оно однозначно будет в конце концов запускаться под linux (почти все сервера крутятся на linux). Изходя из этого просто навсего будет логичнее писать сразу на той системе, под которой приложение будет работать в дальнейшем + некоторые серверные вещицы у тебя не запустятся под windows + в linux в сотни раз удобнее ставить зависимости (то что нужно разрабатываемому приложению).



1



Эксперт по компьютерным сетям

278 / 278 / 25

Регистрация: 02.08.2012

Сообщений: 1,232

14.10.2015, 16:12

8

Цитата
Сообщение от alex925
Посмотреть сообщение

под linux (почти все сервера крутятся на linux).

К сожалению это не так, долю серверов на IIS нельзя исключать



0



2740 / 2339 / 620

Регистрация: 19.03.2012

Сообщений: 8,830

14.10.2015, 16:19

9

MonaxGT, их не так много и они дорогие



0



174 / 160 / 71

Регистрация: 22.02.2013

Сообщений: 1,769

Записей в блоге: 2

14.10.2015, 16:20

 [ТС]

10

тогда у меня другой вопрос.
какой дистрибутив ставить? я знаю что версий Linux очень много, хочется установить один раз — и не бегать на другие версии.
И еще возможно ставить Linux и Win на одной машине?



0



Эксперт по компьютерным сетям

5890 / 3348 / 1034

Регистрация: 03.11.2009

Сообщений: 9,977

14.10.2015, 16:22

11

Цитата
Сообщение от NotBeginner
Посмотреть сообщение

какой дистрибутив ставить?

дело вкуса, переходящие часто начинают с убунту или минта(мне второй больше нравился)

Цитата
Сообщение от NotBeginner
Посмотреть сообщение

И еще возможно ставить Linux и Win на одной машине?

конечно



1



2740 / 2339 / 620

Регистрация: 19.03.2012

Сообщений: 8,830

14.10.2015, 16:22

12

NotBeginner, для новичка удобнее всего будет поставить ubuntu и учится работать с ней.

Да, на один комп без проблем ставится несколько ОС



1



174 / 160 / 71

Регистрация: 22.02.2013

Сообщений: 1,769

Записей в блоге: 2

14.10.2015, 16:33

 [ТС]

13

Всем большое спасибо!



0



  • Linux и windows сбивается время на компьютере
  • Linux и windows на одном ноутбуке
  • Linux и windows на одном компьютере загрузчик
  • Linux в стиле windows 11
  • Linux и windows в одной сети