Есть ли простой способ проверить, что код ноутбука iPython, когда он написан, совместим с PEP8?
Проверка PEP8 в коде ноутбука iPython
Ответ 1
Если это кому-то помогает, я использую:
conttest "jupyter nbconvert notebook.ipynb --stdout --to script | flake8 - --ignore=W391"
-
conttest
повторы при сохранении изменений в записной книжке -
flake8 -
сообщает flake8 принимать данные от stdin -
--ignore=W391
- это потому, что выводjupyter nbconvert
, кажется, всегда имеет "пустую строку в конце файла", поэтому я не хочу, чтобы flake8 жаловался на это.
У меня проблема с ячейками уценки (длина строк может быть довольно длинной): игнорировать ячейки markdown в` jupyter nbconvert` с `--to script `.
Ответ 2
Убедитесь, что у вас есть модуль pycodestyle
или flake8
, чтобы иметь возможность проверить ваш код в соответствии с руководствами по стилю. Затем включите магическую функцию с помощью модуля pycodestyle_magic
(github repo):
pip install pycodestyle flake8 pycodestyle_magic
- сначала загрузите магию в ячейку Jupyter Notebook:
%load_ext pycodestyle_magic
- и затем включите магию, чтобы выполнить проверку соответствия для каждой ячейки, используя:
%pycodestyle_on
или %flake8_on
в зависимости от того, какой стиль руководства вы хотите проверить.
Чтобы отключить запуск автоматической проверки соответствия:
%pycodestyle_off
или %flake8_off
Ответ 3
Установите расширение pep8 для ноутбука ipython, используя следующую команду:
%install_ext https://raw.githubusercontent.com/SiggyF/notebooks/master/pep8_magic.py
Обратитесь к официальным документам для получения дополнительной информации.
После этого используйте функцию %%pep8
Cell magic, чтобы проверить вашу конкретную ячейку для стиля pep8.
Обратите внимание, что это должно быть помещено в каждую ячейку, для которой необходимо выполнить проверку pep8.
Обратитесь к этому примеру.