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.