python import pycharm pep8 static-code-analysis

python - La importación automática no sigue PEP8



pycharm static-code-analysis (1)

Usted no puede La razón es que PyCharm no le dice que ha violado ninguna de las Pautas de PEP8 si hace eso o cualquier declaración de importación. Uno, su PyCharm está desactualizado (la versión más reciente es 4.0.2 / 4.2) o segundo, parece que su PyCharm tiene un error, lo que da motivos para presentar un informe de errores. Si puede intentar volver a descargar PyCharm de forma segura para intentar solucionar el error. Si eso no funciona, presente un informe de error o haga un hábito de hacer una línea en blanco entre sus declaraciones. ¡Espero que esto responda a su pregunta! Oh, no importa si usa desde, importa o ambos tipos de declaraciones.

Considere el siguiente código:

from bs4 import BeautifulSoup data = "<test>test text</test>" soup = BeautifulSoup(data) print(soup.find(text=re.compile(r''test$'')))

Falta una línea de NameError import re y fallaría con un NameError sin ella.

Ahora, estoy tratando de usar la función de importación automática de PyCharm : centrándome en re presionar Alt+Enter , lo que abre la siguiente ventana emergente:

Ahora, si elijo la opción Import ''re'' , Pycharm insertará la nueva línea de importación en la parte superior de la secuencia de comandos:

import re from bs4 import BeautifulSoup data = "<test>test text</test>" soup = BeautifulSoup(data) print(soup.find(text=re.compile(r''test$'')))

Se ve casi bien, excepto que no sigue las pautas de importación de PEP8 :

Las importaciones deben agruparse en el siguiente orden:

  • biblioteca estándar de importaciones

  • importaciones de terceros relacionadas

  • Importaciones específicas de aplicaciones / bibliotecas locales

Debe poner una línea en blanco entre cada grupo de importaciones.

En otras palabras, falta una línea en blanco entre las dos importaciones:

import re from bs4 import BeautifulSoup

La pregunta es: ¿es posible decirle a Pycharm que siga las pautas de PEP8 e inserte una nueva línea entre las líneas con diferentes tipos de importación en la importación automática?

Como solución alternativa, estoy llamando a Optimize Imports, ya que organiza las importaciones correctamente.