Linux and python programming

8 лучших IDE для программирования на Python в Linux

Оригинал: 8 Best Python IDEs for Linux Programmers
Автор: Aaron Kili
Дата публикации: 8 февраля 2018 года
Перевод: А. Кривошей
Дата перевода: июнь 2018 г.

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

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

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

1. PyCharm

PyCharm — это мощная, кросс-платформенная, настраиваемая среда разработки Python с поддержкой плагинов, которая объединяет все инструменты разработки в одном месте. Она имеет бксплатную версию с открытым исходным кодом, а также платную профессиональную.

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

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

2. Wing Python IDE

Wing Python IDE — это настраиваемая и гибкая профессиональная среда разработки Python с мощным отладчиком и интеллектуальным редактором.

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

Она имеет хорошую интеграцию с App Engine, Django, PyQt, Flask, Vagrant и т.д. Wing поддерживает управление проектами и контроль версий с помощью Git, Mercurial, Bazaar, Subversion и многих других систем. Она становится популярной среди разработчиков Python, и многие теперь предпочитают ее PyCharm.

3. Eric Python IDE

Eric — многофункциональная среда разработки Python, написанная на Python. Она основана на кроссплатформенной графической библиотеке Qt, интегрированной с очень гибким редактором Scintilla. Поддерживается неограниченное количество редакторов.

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

Eric имеет интегрированный класс браузера и веб-браузера, интегрированный интерфейс управления версиями для репозиториев Mercurial, Subversion и Git в качестве основных плагинов и многое другое. Одной из наиболее важных функций, которая отсутствует во многих IDE Python, является интегрированная система документации исходного кода.

4. PyDev For Eclipse

PyDev — это полноценная многофункциональная среда разработки Python для Eclipse. Она поддерживает интеграцию c Django, завершение кода, завершение кода с автоматическим импортом и анализ кода.

PyDev предлагает рефакторинг, отладчик, удаленный отладчик, браузер токенов, интерактивную консоль, интеграцию юнит тестов и интеграцию с PyLint. Вы можете использовать его для разработки на Python, Jython и IronPython.

5. Spyder IDE

Spyder — это научная среда разработки Python с множеством функций для исследований, анализа данных и создания научных пакетов. Она поставляется с многоязычным редактором с браузером функций/классов, функциями анализа кода (с поддержкой pyflakes и pylint), завершением кода, горизонтальным и вертикальным разделением страницы.

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

Читайте также:  Windows texture viewer rus

6. Pyzo Python IDE

Pyzo — это простая, бесплатная и открытая IDE для Python. В ней используется conda, OS-agnostic и менеджер двоичных пакетов на уровне системы. Однако он работает без интерпретатора Python. Позиционирование проекта — простота и интерактивность.

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

7. GNU Emacs For Python Programming

Emacs — это бесплатный, расширяемый, настраиваемый кроссплатформенный текстовый редактор. Emacs уже имеет встроенную поддержку Python через «python-mode». Если вы поклонник Emacs, вы можете создать полную IDE для программирования на Python, интегрировав пакеты, перечисленные в руководстве Python Programming in Emacs в Emacs wiki.

8. Vim Editor

Vim — популярный, мощный, настраиваемый и, прежде всего, расширяемый текстовый редактор. Он часто используется как среда разработки Python многими пользователями Linux. Чтобы настроить его как IDE, вы можете начать с использования Python-mode, плагина для разработки приложений Python в Vim.

Vim может быть сложен в настройке для новых пользователей, но как только вы пройдете через это, у вас будет идеальное сочетание (я имею в виду Vim и Python). Существует несколько расширений, которые вы можете использовать для настройки полноценной, профессиональной IDE для Python. Дополнительную информацию см. в документации Vim и Python wiki .

Резюме

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

На нашем сайте есть еще следующая статья о среде программирования PyCharm для Python: «PyCharm: Python IDE для профессиональных разработчиков».

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

Источник

Your Own Linux.

Linux How To’s | Bash Scripting | Python

Thursday, 13 October 2016

Introduction to Python Programming on Linux

What are we going to cover in this article?

  • Introduction to Python
  • Origin of Python
  • Where do we use Python?
  • Why should everybody learn Python?
  • Some basic Python code sheet standards and code execution model

What is Python?

  1. This is a programming language as well as a scripting language, that supports OOP (object oriented programming) concept. In brief, we can call it as object oriented scripting-cum-programming language. OOP in Python- Don’t worry! We will be learning everything about it in the subsequent articles in this series.
  2. It is very easy to learn and use, improves developer productivity, provides quality codes.
  3. This is considered among the top 5 widely used programming languages in the world.
  4. This is open source language so does not need licensing.
  5. Two versions of Python are widely used in industry — Python2 and Python3.

Why should I learn Python?

  1. Every software engineer wants to enhance his/her skills, in order to maintain a continuous progress in his/her career, and basically wants to work on renowned technologies or ideas that are widely accepted all around the globe.
  2. So to lure you as to why you should learn python, here is some motivation.
    • Google, YouTube, Dropbox, Instagram — all of them use python extensively.
    • Intel, Cisco, HP, IBM use Python for hardware testing.
    • NASA use it for scientific programming tasks.
    • And used in lot many areas which I have not mentioned here. Feeling motivated?
  3. You can use python in Machine learning, Gaming, Image Processing, Robotics, Graphic designing, Web development, Search engines, etc..

Why is it named as Python?

Our first Python code

Then, we need to make this file executable using chmod command in Linux as below-

Now, time to run our Python script. We can do this in two ways, as below-

And we should get the following output-

Bamm! The print statement will display the contents included in the parenthesis.

Code execution overview

Python is not just a programming language or not only a scripting language, but also an interpreter.

Источник

От linux-админа к python-программисту или как и почему я менял профессию

За свои почти тридцать лет я дослужился до старшего системного администратора. В моем распоряжении было около сорока серверов с linux на борту. Компания росла и расширялась, но задачи сводились к наращиванию мощи уже готового функционала.

Читайте также:  Windows 10 pro terminal server

И все бы хорошо, но со временем и по определенным причинам дискомфорт начал преобладать над комфортом.

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

В-вторых, прерывания. В деле системного администрирования они особо выделяются из всех проблем и могут вывести из душевного равновесия любого. Когда пишешь код, оптимизируешь сервис и каждые полчаса тебя отвлекают вопросами, срочными задачами и вызовами — вернуться в работу порой очень тяжело и на это тратится время, — минут пятнадцать можно просидеть, вспоминая, откуда тебя выдернули и что вообще ты делал (В книге «Тайм-менеджмент для системных администраторов» Томаса А. Лимончелли об этом хорошо написано). В итоге прерывания формируют утверждение «Мне не дают работать».

В-третьих, привычка к рабочему процессу. Как известно, человек ко всему привыкает и то, что изначально вызывало восхищение и приносило в итоге общее удовлетворение, — становится обыденным и скучным. Когда все крутится и работает идеально, об этом знаешь только ты и максимум руководитель отдела, пользователи же принимают это за данность и не испытывают никаких поводов для гордости. Зато они замечают любую мелкую оплошность, от чего страдает как карма всего отдела, так и внутреннее состояние администратора, — против воли себя убеждаешь — «Я плохой сотрудник».

Все это касается обслуживания в целом и такова его стезя. А я в ней, потихоньку, но разуверился.

Чего же я хотел? Бо́льшего погружения в более творческую работу, уменьшения влияния со стороны по мелочам, видеть конечный результат и получать от этого удовлетворение. И все. Уставшим и отчужденным смотря на наш отдел программистов, читая хабр или смотря gif-ки на developerslife, я понял, что если я не могу получить этого на поприще админства, пора менять профессию, а так как писать код мне нравилось все больше и больше, выбор не заставил себя долго ждать.

Выбор языка для меня всегда был сплошным расстройством. На работе я писал на bash, так как писать на чем-то было нужно, да и его возможностей для системного администрирования хватает с головой. Perl — не нравился по синтаксису. Очень долго пытался приучить себя к ansi C, проработал две книги, — Unix разработка сетевых приложений (Уильям Ричард Стивенс) и Программирование для UNIX Наиболее полное руководство (Марк Дж. Рочкинд). Но так и не нашел применения приобретенным знаниям, до сих пор жалею потраченного времени. По требованиям хотелось, что бы он шел в ногу с linux, был универсальным, умел и sys (для текущих скриптов), и web (с заделом на будущее) и не вырвиглазным по синтаксису. Вокруг Python ходил очень долго, — тормозила его относительная молодость, невысокая популярность, и, не знаю почему, его название. Со временем, наблюдая за компаниями-гигантами, которые все больше используют python на production, и к моменту, когда я решил менять профессию, с языком я уже определился, хотя и выбирать было особо не из чего.

Первые полгода читал Марка Лутца, что-то пробовал писать, но знания были обрывочными и применять их на боевых серверах боялся, да и не видел выгоды в замене bash на python. Время тянулось, а моя затея нравилась мне все меньше и меньше. В итоге, убедил себя, что если не получается у меня, получится у других, — нужны курсы, в короткие сроки, с проработкой практики и чтобы была ответственность за оплаченные деньги. Так будет проще и быстрее.

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

Читайте также:  Касперский антивирусник для windows 10

Далее как по-накатанной, в течении полугода, постепенно и в свободное от работы время, переписал все скрипты и всю автоматизацию на python, написал сервер статистики для squid (python, wsgi). Уже за свои кровные, прошел курсы через вебинар по ООП и django, так как аргументировать их необходимость текущему работодателю решил даже не пытаться. Переписал все с учетом новых знаний. Далее, ради расширения кругозора, прошел еще курсы по тестированию, но оно мне не понравилось, — оставил как запасной вариант.

Следующие полгода, помимо прямых обязанностей, были потрачены на поддержку и оптимизацию написанного мной кода и на поиск работы. Рассматривал только full-time, — админить уже не мог, мечтая о новой работе и новых возможностях.

За это время прошел около десятка собеседований на позицию junior. Всего около десятка. Но везде требовался или django+frontend, либо с опытом от двух лет. Опыт на production’е отсутствует, а фронтендом заниматься у меня не было и нет до сих пор никакого желания. Что еще странно, вопросов именно по языку было не много, зато было много по теории, — ООП, паттерны, методологии scrum, agile — которых я естественно не знал. Продолжая биться головой о двери конференц-залов и выслушивая стандартную фразу «Мы вам перезвоним», я продолжал ходить по приглашениям. И в конечном итоге меня взяли backend разработчиком в закрытый проект.

На текущем месте работы я работаю уже несколько месяцев и могу подвести итоги.

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

То к чему я стремился, я конечно получил, хотя и радовался этому не долго, — чувство «У меня получилось, я стал программистом» прогорело очень быстро, примерно за неделю, и на смену ему пришли:

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

Борьба с прокрастинацией. У хороших системных администраторов свободного времени намного больше, чем они говорят. Благодаря чему копится много подписок, каналов на ютубе, профильные сайты, шутки-прибаутки, много знакомых в сети и интересов. Лично у меня могло до трех часов в день уходить на чтение и просмотр всего этого. От чего мне на текущей должности, за неимением времени, пришлось практически отказаться. Изначально просто читал бегло, потом читал просто заголовки, а потом и полностью отписывался. Научился не отвечать на мгновенные сообщения мессенджера за рабочим местом, дабы не отвлекаться и не терять мысли. Сейчас остался подписан на десяток только профильных сайтов.

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

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

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

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

Источник

Оцените статью