Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
El servidor de desarrollo local (dev_appserver.py) forma parte de los componentes de App Engine de la CLI de gcloud. En este tema, se proporciona información avanzada sobre el uso de dev_appserver.py.
Consulta Usa el servidor de desarrollo local para obtener más información sobre las pruebas locales.
Configura la herramienta del servidor de desarrollo local
Un comando dev_appserver.py de muestra puede verse de la siguiente manera:
DEVAPPSERVER_ROOT por la ruta de acceso al directorio raíz en el que extraes la versión archivada de devapp_server.py. Para obtener más información sobre cómo descargar y usar la versión archivada de dev_appserver.py, consulta Usa el servidor de desarrollo local.
OPTION por una marca compatible con el servidor de desarrollo local.
FILES especifica uno o más archivos app.yaml, uno por servicio, para el argumento posicional yaml_path.
Para obtener una lista completa de las opciones, ejecuta el siguiente comando:
Es el nombre de host al que se debe vincular la Consola del administrador del servidor de desarrollo local (valor predeterminado: localhost).
--admin_port=ADMIN_PORT
Es el puerto al que se debe vincular la Consola del administrador del servidor de desarrollo local (valor predeterminado: 8000).
--enable_sendmail=yes|no
Usa la instalación de Sendmail de la computadora local para enviar mensajes de correo electrónico.
--enable_task_running=yes|no
Permite al servidor de desarrollo ejecutar tareas de envío. El valor predeterminado es yes.
Si especificas no, el servidor no ejecutará tareas de envío.
--help
Imprime un mensaje útil y, luego, se cierra.
--host=...
Es la dirección del host que se usará para el servidor. Es posible que debas configurarlo para poder acceder al servidor de desarrollo desde otra computadora de tu red. Una dirección 0.0.0.0 permite el acceso por localhost o el acceso por IP o nombre de host.
El valor predeterminado es localhost.
--log_level=...
Es el nivel de registro más bajo en el que se escribirán los mensajes de registro en la consola. Se emitirán los mensajes del nivel de registro especificado o superior.
Los valores posibles son debug, info, warning, error y critical.
--port=...
Es el número de puerto que se usará para el servidor. El valor predeterminado es 8080. Si se inician varios servidores, por ejemplo, para servicios, se les asignarán puertos subsiguientes, como 8081 y 8082.
--logs_path=...
De forma predeterminada, los registros para el servidor de desarrollo local se almacenan solo en la memoria. Especifica esta opción cuando ejecutes el servidor de desarrollo local para almacenar los registros en un archivo, lo que hace que los registros sigan disponibles luego de diversos reinicios del servidor.
Debes especificar la ruta y el nombre del directorio para un archivo de base de datos SQLite. Se crea un archivo de base de datos SQLite con el nombre especificado si el archivo aún no existe. Por ejemplo: --logs_path=/home/logs/boglogs.db
--require_indexes=yes|no
Inhabilita la generación automática de entradas en el archivo index.yaml. En su lugar, cuando la aplicación realiza una consulta que requiere que su índice se defina en el archivo, pero no se encuentra esta definición, se generará una excepción. Esto es similar a lo que sucedería si se ejecutara en App Engine. El valor predeterminado es no.
--smtp_host=...
Es el nombre de host del servidor SMTP que se usará para enviar mensajes de correo electrónico.
--smtp_port=...
Es el número de puerto del servidor SMTP que se usará para enviar mensajes de correo electrónico.
--smtp_user=...
Es el nombre de usuario que se usará con el servidor SMTP para enviar mensajes de correo electrónico.
--smtp_password=...
Es la contraseña que se usará con el servidor SMTP para enviar mensajes de correo electrónico.
--storage_path=...
Es la ruta en la que se almacenarán todos los archivos locales, como los archivos y registros de Cloud Storage, Datastore y Blobstore, a menos que se anulen mediante --datastore_path, --blobstore_path o --logs_path.
--support_datastore_emulator=yes|no
Usa el emulador (Beta) de Cloud Datastore para la emulación del almacén de datos local.
--datastore_emulator_port=...
Es el número de puerto que se usará para el emulador (Beta) de Cloud Datastore.
--env_var=...
Es una variable de entorno definida por el usuario para el proceso del entorno de ejecución local. Cada env_var tiene el formato de clave=valor y puedes definir múltiples variables de entorno. Además de env_variables en app.yaml, esta marca permite establecer variables de entorno adicionales para procesos locales.
Por ejemplo:--env_var KEY_1=val1 --env_var KEY_2=val2
--go_debugging=yes|no
Configúralo en sí para habilitar la depuración con delve o gdb. Esto creará el objeto binario de la app con todos los símbolos necesarios para la depuración. Puedes conectarte al proceso en ejecución con normalidad, p. ej.: sudo dlv attach <pid>.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[[["\u003cp\u003eThe \u003ccode\u003edev_appserver.py\u003c/code\u003e is a local development server tool within the App Engine components of the gcloud CLI, used for local testing.\u003c/p\u003e\n"],["\u003cp\u003eBefore running \u003ccode\u003edev_appserver.py\u003c/code\u003e, ensure Python 3 is installed and the \u003ccode\u003eCLOUDSDK_DEVAPPSERVER_PYTHON\u003c/code\u003e environment variable is set to your Python 2 interpreter's path.\u003c/p\u003e\n"],["\u003cp\u003eTo execute the server, use a command structure similar to: \u003ccode\u003epython2 <DEVAPPSERVER_ROOT>/google_appengine/dev_appserver.py <OPTION> yaml_path <FILES>\u003c/code\u003e, replacing placeholders with your specific paths and configurations.\u003c/p\u003e\n"],["\u003cp\u003eCommon options for \u003ccode\u003edev_appserver.py\u003c/code\u003e include configuring admin ports, enabling sendmail, setting log levels, and defining storage paths.\u003c/p\u003e\n"],["\u003cp\u003eThe local server allows you to disable automatic generation of entries in \u003ccode\u003eindex.yaml\u003c/code\u003e file by using the \u003ccode\u003e--require_indexes=yes\u003c/code\u003e flag.\u003c/p\u003e\n"]]],[],null,["# Local Development Server Options\n\nThe local development server (`dev_appserver.py`) is part of the App Engine\ncomponents of the [gcloud CLI](/sdk/docs). This topic provides advanced\ninformation about the `dev_appserver.py` usage.\n\n\nSee [Using the Local Development Server](/appengine/docs/legacy/standard/go111/testing-and-deploying-your-app#local-dev-server)\nfor more information about local testing.\n\n\nSet up the local development server tool\n----------------------------------------\n\n| **Important:** Before running the local development server, follow the [setup instructions](/appengine/docs/legacy/standard/go111/tools/using-local-server#set-up). Regardless of your app's runtime or language version, you must run `dev_appserver.py` with Python 3 and set the `CLOUDSDK_DEVAPPSERVER_PYTHON` environment variable in your shell to the path of your Python 2 interpreter.\n\nA sample `dev_appserver.py` command might look as follows: \n\n python2 \u003cvar translate=\"no\"\u003eDEVAPPSERVER_ROOT\u003c/var\u003e/google_appengine/dev_appserver.py \u003cvar translate=\"no\"\u003eOPTION\u003c/var\u003e yaml_path \u003cvar translate=\"no\"\u003eFILES\u003c/var\u003e\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eDEVAPPSERVER_ROOT\u003c/var\u003e with the path to the root directory where you extract the archived version of `devapp_server.py`. For more information about downloading and using the archived version of `dev_appserver.py`, see [Using the local development server](/appengine/docs/legacy/standard/go111/tools/using-local-server#before_you_begin).\n- \u003cvar translate=\"no\"\u003eOPTION\u003c/var\u003e with a flag supported by the local development server.\n- \u003cvar translate=\"no\"\u003eFILES\u003c/var\u003e specifies one or more `app.yaml` files, one per service, for the positional argument `yaml_path`.\n\nFor a complete list of options, run the following:\n\n\u003cvar translate=\"no\"\u003eDEVAPPSERVER_ROOT\u003c/var\u003e/google_appengine/dev_appserver.py -h\n\nCommon options\n--------------\n\nThe most common options are as follows:\n\n`--admin_host=ADMIN_HOST`\n: Host name to which the local development server's administration console\n should bind (default: localhost).\n\n`--admin_port=ADMIN_PORT`\n: Port to which the local development server's administration console should\n bind (default: 8000).\n\n`--enable_sendmail=yes|no`\n: Uses the local computer's Sendmail installation for\n sending email messages.\n\n`--enable_task_running=yes|no`\n: Enables the development server to run push tasks. The default is `yes`.\n If you specify `no`, the server will not run push tasks.\n\n`--help`\n: Prints a helpful message then quits.\n\n`--host=...`\n: The host address to use for the server. You may need to set this to be able\n to access the development server from another computer on your network. An\n address of `0.0.0.0` allows both localhost access and IP or hostname access.\n Default is `localhost`.\n\n`--log_level=...`\n: The lowest logging level at which logging messages will be written to the\n console; messages of the specified logging level or higher will be output.\n Possible values are `debug`, `info`, `warning`, `error`, and `critical`.\n\n`--port=...`\n: The port number to use for the server. Default is `8080`. If multiple servers\n are launched such as for services, they will be assigned subsequent ports,\n such as `8081`, `8082`.\n\n`--logs_path=...`\n: By default, the logs for the local development server are stored in memory\n only. Specify this option when you run the local development server to store\n the logs into a file, which makes the logs available across server restarts.\n You must specify the directory path and name to a SQLite database file. A\n SQLite database file is created with the specified name if the file does not\n already exist. For example: `--logs_path=/home/logs/boglogs.db`\n\n`--require_indexes=yes|no`\n: Disables automatic generation of entries in the `index.yaml` file. Instead,\n when the application makes a query that requires that its index be defined in\n the file and the index definition is not found, an exception will be raised,\n similar to what would happen when running on App Engine. The default value is\n `no`.\n\n\n`--smtp_host=...`\n: The hostname of the SMTP server to use for sending email messages.\n\n`--smtp_port=...`\n: The port number of the SMTP server to use for sending email messages.\n\n`--smtp_user=...`\n: The username to use with the SMTP server for sending email messages.\n\n`--smtp_password=...`\n: The password to use with the SMTP server for sending email messages.\n\n`--storage_path=...`\n: Path at which all local files, such as the Datastore,\n Blobstore, Cloud Storage files and logs, will be stored, unless\n overridden by `--datastore_path`, `--blobstore_path`, or `--logs_path`.\n\n`--support_datastore_emulator=yes|no`\n: Use the Cloud Datastore Emulator (beta) for local datastore emulation.\n\n`--datastore_emulator_port=...`\n: The port number to use for Cloud Datastore Emulator (beta).\n\n`--env_var=...`\n: User defined environment variable for the local runtime process. Each\n `env_var` is in the format of key=value, and you can define multiple\n environment variables. In addition to `env_variables` in the `app.yaml`, this\n flag allows setting extra environment variables for local processes.\n For example:`--env_var KEY_1=val1 --env_var KEY_2=val2`\n\n\n`--go_debugging=yes|no`\n: Set to yes to enable debugging with delve or gdb. This will build the app\n binary with all of the symbols necessary for debugging. You can attach to the\n running process normally, eg: `sudo dlv attach \u003cpid\u003e`."]]