Как включить pep8 в sublime text

Обновлено: 05.07.2024

PEP 8, иногда обозначаемый PEP8 или PEP-8, представляет собой документ, содержащий рекомендации по написанию кода на Python. Он был составлен в 2001 году Гвидо ван Россумом, Барри Варшавой и Ником Когланом. Основная цель PEP 8 – улучшить читабельность и логичность кода на Python.


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

Из данной серии статей вы узнаете:

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

Зачем нужен PEP 8

“Читаемость имеет значение”,Дзен Python

PEP 8 существует для улучшения читаемости кода Python. Но почему так важна удобочитаемость? Почему написание читаемого кода является одним из руководящих принципов языка Python?

Как сказал Гвидо ван Россум: «Код читают гораздо чаще, чем пишут». Вы можете потратить несколько минут или целый день на написание фрагмента кода для аутентификации пользователя. В дальнейшем вам не придётся его писать. Но перечитывать его вы точно будете. Этот фрагмент кода может остаться частью проекта, над которым вы работаете. Каждый раз, возвращаясь к этому файлу, вам нужно будет вспомнить, что делает этот код и зачем вы его написали. Поэтому удобочитаемость имеет большое значение.

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

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

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

Марк Лутц «Изучаем Python»

Скачивайте книгу у нас в телеграм

Когда стоит игнорировать PEP 8

Краткий ответ на этот вопрос – никогда. Если вы строго следуете PEP 8, то можете гарантировать, что у вас будет чистый, профессиональный и читабельный код. Это принесет пользу вам, а также сотрудникам и потенциальным работодателям.

Однако некоторые рекомендации в PEP 8 неудобны в следующих случаях:

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

Как проверить соответствие кода PEP 8

Чтобы убедиться, что ваш код соответствует PEP 8, необходимо многое проверить. Помнить все эти правила при разработке кода может быть непросто. Особенно много времени уходит на приведение прошлых проектов к стандарту PEP 8. К счастью, есть инструменты, которые помогут ускорить этот процесс.

Существует два класса инструментов, которые можно использовать для обеспечения соответствия PEP 8: линтеры и автоформаттеры.

Линтеры

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

Вот пара лучших линтеров для кода на Python:

pycodestyle

Это инструмент для проверки вашего кода на соответствие некоторым стилевым соглашениям в PEP8.

Установите pycodestyle с помощью pip:

Вы можете запустить pycodestyle из терминала, используя следующую команду:

flake8

Это инструмент, который сочетает в себе отладчик, pyflakes и pycodestyle.

Установите flake8 с помощью pip:

Запустите flake8 из терминала, используя следующую команду:

Замечание: Дополнительная строка в выводе указывает на синтаксическую ошибку.

Автоформаттеры

Установите black с помощью pip. Для запуска требуется Python 3.6+:

Его можно запустить из командной строки, как и в случае с линтерами. Допустим, вы начали со следующего кода, который не соответствует PEP 8, в файле с именем code.py:

Затем вы можете запустить следующую команду через командную строку:

code.py будет автоматически приведён к следующему виду:

Если вы хотите изменить ограничение длины строки, можно использовать флаг --line-length :

Работа двух других автоформаттеров – autopep8 и yapf – аналогична работе black .

О том, как использовать эти инструменты, хорошо написано в статье Python Code Quality: Tools & Best Practices Александра ван Тол.

Можно конечно было запустить отдельно консоль (cmd), в ней прописать путь к интерпретатору Python и путь к Вашей программе, чтобы она выполнилась. Каждый раз это делать не удобно. Сделаем так, чтобы код программы Python можно было выводить в самом редакторе Sublime Text 3.

1. Запускаем Sublime Text 3 и заходим в меню.

Sublime cmd

2. Удаляем содержимое и заменяем на:

"cmd": ["C:\\python33\\python.exe", "-u", "$file"],
"file_regex": "^[ ]*File \"(. *?)\", line (5*)",
"selector": "source.python"
>

Табуляция

Обратите внимание, на форматирование кода табуляцией!

3. Сохраняем файл Как, не изменяя дериктории. Имя можно задать любое. Рекомендуемое название файла "PythonCMD". Закрываем только что редактируемый файл (вкладку) PythonCMD. Чтобы у нас был пустой редактор без вкладок.

4. Выбираем в настройках только что созданный конфигурационный файл Tools -> Build Systems -> PythonCMD.
Если вы используете редактор Sublime Text 3 только для написания Python кода, тогда Вам в дальнейшем нет необходимости менять настройки. Если вы используете редактор для написания кода на других языках, тогда для запуска кода, Вам необходимо будет менять систему запуска в Tools.

Python Sublime cmd

После этих нехитрых действий, запускаем Вашу программу на Python (ctrl+b или F7). Результат будет выводится в окне редактора.

В сети есть множество решений про кодировку, вывод результатов в консоле (cmd), использование плагинов (SublimeREPL) итд. Как именно вывести результат именно в самой консоле редактора Sublime Text, а не в консоле Windows cmd, решений не было. Во всяком случаи, я их не нашел. Поэтому, предлагаю вам свое решение.

Как установить SublimeREPL и другие плагины, опишу отдельно. Для первого старта работы с Sublime Text 3 и Python выше описанных настроек достаточно.

[ Рекоммендация. ]
Если вы хотите научиться программировать, стать/быть программистом, рекомендую установить Ubuntu (Linux).
Возможно не стоит сразу сносить Windows и ставить только Ubuntu. Ubuntu можно установить как дополнительную ОС. И запускать только тогда, когда требуется программировать. Когда привыкните к Linux, узнаете преимущества, можно будет смело переходить на Linux.

. Не забудьте сохранить все важные файлы на отдельном флэш носителе.

Для тех, кто любит играть в игры. Под Ubuntu есть Steam и много других интересных игрушек.
В ближайшее время Valve выпускает свою Steam OS основанную на Linux.

Для Python под Linux есть интересная библиотека PyGame, можно разрабатывать свои 2D игры. Для 3D есть другие библиотеки.

На Ubuntu/Linux по умолчанию установлен Python и другие языки программирования.

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

Всем привет. У Sublime Text 3 есть замечательный плагин Sublime Linter, который позволяет делать проверку кода на наличие синтаксических ошибок. Промучился я как-то с настройкой этого SublimeLinter, аж три дня. Но всё таки мои мучения прошли не зря и теперь Sublime на лету проверяет синтаксис в HTML, CSS, PHP и JS файлах. Вроде бы всё подробно расписано на различных форумах, а он в некоторых случаях не работает — и всё, хоть убей. Поэтому я и пишу эту статью, чтобы охватить всё и сразу.

image



ВНИМАНИЕ! Статья описывает настройку Sublime Text 3 (далее ST3) на Windows 7 x64 Professional.

1. Представим что вы уже установили ST3 на свой Win 7 и установили Package Control.

2. Теперь необходимо поставить дополнительные пакеты в ST3. Идем в Preferences -> Package Control -> Install Packages
И устанавливаем следующие пакеты:

— SublimeLinter
— SublimeLinter-html-tidy
— SublimeLinter-csslint
— SublimeLinter-jsl
— SublimeLinter-jshint
— SublimeLinter-php
— SublimeLinter-phplint
— LESS
— JSHint

3. Настройка проверки ошибок синтаксиса HTML
3.1. Скачиваем tidy.exe и кладем его в любую понравившуюся вам папку.
3.2. Добавляем путь до этой папки! с tidy.exe в переменную серды пользователя windows (PATH), настройки которой, находятся в Мой компьютер -> Свойства -> Дополнительные параметры системы -> Переменные среды… -> Выбираем переменную «PATH» -> Жмем «Изменить» добавляем путь.
ВНИМАНИЕ! Обратите внимание на точку с запятой ";" после каждого пути и не забудьте её прописать, а так же обратите внимание на обратный \ слеш.

4. Настройка проверки ошибок синтаксиса CSS
4.1. Скачиваем и устанавливаем node.js
4.2. Добавляем путь до папки (до папки!) с node.js в PATH (путь примерно следующий: C:\Users\User_name\AppData\Roaming\npm )! Незабываем про точку с запятой.
4.3. Устанавливаем csslint. Для этого — запускаем командую строку Windows от имени админа и пишем: npm install -g csslint

5. Настройка проверки ошибок синтаксиса JavaScript
5.1. Если не делали пункты 4.1. и 4.2. — то делаем.
5.2. Устанавливаем jslint и jshint, для этого выполняем ту же самую операцию что и в пункте 4.3. только пишем вместо csslint — jslint и jshint соответственно.

6. Настройка проверки ошибок синтаксиса PHP
6.1. Вот с этиим вобще гемор. Лично я долго искал проблему, почему же не работает подсветка.
6.2. (UPDATE) Дело в том, что многие (в том числе и я) в качестве локального сервера ставят себе Denwer. И черт его знает почему (не вдавался в подробности), но PHP денвера не воспринимается ST3, хоть убей. Он может выводить ошибки PHP в консоль ST3, но подсветки синтаксиса так и не будет.
P.S. Я специально добавил этот пункт, т.к. на многих форумах пишут, что ставим PHP, настраиваем пакеты ST3 и будет вам счастье. Но счастья не происходит, т.к. пункт с установкой PHP обычно сразу опускается из-за надежды на работоспособность(пригодность) denwer-a.

6.3. Поэтому, сразу идем сюды и скачиваем PHP. Установка PHP — просто разархивируйте архив в любую папку и пропишите путь до этой папки в PATH (пункт 3.2.)
6.4. Если у вас был прописан в PATH путь до папки с PHP денвера, то обязательно удалите его.

7. Файл конфигурации SublimeLinter.sublime.settings

8. Перезапускаем Sublime. Profit.

Еще! Бывает что некоторые забывают про режим debug mode у Sublimelinter. Чтобы его включить, жмем правой кнопкой мыши в любое место области редактирования ST3 -> SublimeLinter -> Debug Mode

Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal

Декабрь 26, 2014


развернуть
Есть неплохой редактор Sublime Text, в нём удобно редактировать код, для того чтобы можно было сразу смотреть на его исполнение необходимо:

1. Установить Sublime Package Control, он поможет легко управлять плагинами, нажимаем ctrl+` и в открывшейся консоли вставляем код

3. Создаём для запуска горячую клавишу:
Preferenses -> Key Bindings-User
вставить в Key Bindings-User следующий код:

Теперь при нажатии win+z происходит исполнение кода

Прочие мелочи:
Preferenses -> Settings-User
вставить в Settings-User следующий код:

или например этот:

Sublime Text можно настроить на любой вкус, чтобы изменить тему нужно в Settings-User всавить вместо приведённой "theme": "Sunrise.sublime-theme"
вот некоторые из тёмных тем:

темы и стили оформления можно посмотреть тут:


скрипт, чтоб не заморачиваться, использовать если нет каталогов
$HOME/.config/sublime-text-3/Packages/Default/ и $HOME/tttmppp

Для того чтобы код выполнялся в интерпретаторе python3 необходимо:

1. Изменить PYTHONPATH:
Preferences -> Package Setting -> SublimeREPL -> Setting - Default - копируем содержимое
Preferences -> Package Setting -> SublimeREPL -> Setting - User вставляем содержимое, заменяя
"default_extend_env": <>,
на
"default_extend_env": ,
Где вместо YOU_PATHs - прописываем нужные вам пути
узнать PYTHONPATH можно так:
запускаем интерпретатор python3
вбиваем там
import sys
print(sys.path)
получаем
['', '/usr/lib/python3.4', '/usr/lib/python3.4/plat-i386-linux-gnu' , '/usr/lib/python3.4/lib-dynload', '/usr/local/lib/python3.4/dist-packages' , '/usr/lib/python3/dist-packages']

2. в Preferenses -> Key Bindings-User изменить
"cmd": ["python", "-u", "$file_basename"],
на
"cmd": ["python3", "-u", "$file_basename"],

нужно установить All autocomplete, C++ completions, C++ snippets и (если есть необходимость) SublimeGDB
запуск на компиляцию (и выполнение): Ctrl + b


советы
Как скомпилировать и запустить C в sublime text 3?
Для системы сборки sublime, реализующей команду меню Выполнить :
Перейдите в меню Инструменты->Система сборки->Новая система сборки.
Или
Создать файл

/.config/sublime-text-3/Packages/User/G CC.sublime-build
И вставьте это:

1. Создайте новую систему сборки в Sublime: Инструменты > Система сборки > Новая система сборки. ..
2. Будет создан новый файл с именем untitled.sublime-build .
Если нет, перейдите в Настройки > Обзор пакетов > Пользователь
Если файл untitled.sublime-build есть , откройте его , если его нет , создайте его вручную и откройте .
3. Скопируйте и вставьте приведенный ниже код в вышеупомянутый файл untitled.sublime-build и сохраните его.

Закройте файл. Вы почти закончили!
4. Наконец , переименуйте свой файл с untitled.sublime-build на myC.sublime-build , или вы можете также показать свое творчество здесь. Просто сохраните расширение файла таким же.
5. Наконец , установите для текущей системы сборки имя файла, которое вы написали на предыдущем шаге. В этом случае это myC

Помеченные строки (Bookmarks)
Ctrl + F2 (по ней же и снимается), чтобы была возможность делать кликом мыши:

nano $HOME/.config/sublime-text-3/Packages/De fault/Context.sublime-menu

И в контекстном меню появится соответствующая команда.

Нажимаете Alt, затем «View» ► «Show menu»

f78e468f931b45ccacc9636a08307909.jpg

для Linux: ctrl+shift+p, в водим в поиске "menu" и выбираем "View: Toggle Menu".

f39d4f2d793c45ae89f211d40dceeb8d.jpg

чтобы сохранить сессию

Session Manager: Save Session
Session Manager: Load Session
Session Manager: Delete Session

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