Creé un nuevo proyecto de matraz en PyCharm, pero no puedo ver cómo ejecutar el shell de matraz en la ventana de la consola integrada PyCharm python.
El nombre de la aplicación no está definido cuando se inicia la consola: 
Todavía puedo ejecutar el comando "flask shell" en el terminal PyCharm integrado, pero comenzará sin completar el código, sugerencias, verificaciones de sintaxis, etc.
La aplicación Flask se define en la terminal:
¿Hay alguna forma de iniciar la carcasa del matraz en la consola integrada PyCharm python?
Para ejecutar un shell de Python interactivo, puede usar el comando de shell:
flask shellEsto iniciará un shell de Python interactivo, configurará el contexto de aplicación correcto y configurará las variables locales en el shell. Esto se hace invocando el método Flask.make_shell_context() de la aplicación. Por defecto tienes acceso a tu aplicación y g.
Es solo un shell de Python interactivo normal con algunas variables locales ya configuradas para usted, no un editor IDE con finalización de código, sugerencias, verificaciones de sintaxis, etc.
Puede usar una combinación de creación de un contexto de solicitud para el Shell (que es lo que hace el flask shell ) y un script de inicio personalizado para la consola de PyCharm .
# Step 1: acquire a reference to your Flask App instance import app app_instance = app.create_app() # I return app instance from a factory method here, but might be be `app.app` for basic Flask projects # Step 2: push test request context so that you can do stuff that needs App, like SQLAlchemy ctx = app_instance.test_request_context() ctx.push() Ahora debería tener los beneficios de flask shell junto con la finalización del código y otros beneficios que proporciona IPython Shell, todo desde PyCharm Python Shell predeterminado.
En mi caso (en mi server.py tenía app=Flask(__name__) ) usé
from server import app ctx = app.app_context() ctx.push() Luego agregó esto a File | Settings | Build, Execution, Deployment | Console | Python Console Script de inicio de File | Settings | Build, Execution, Deployment | Console | Python Console
Esto también funciona:
from app import app ctx = app.test_request_context() ctx.push()más en la página de documentos de Flask