Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

905
Vistas
SystemExit: 2 errores al llamar a parse_args() dentro de ipython

Estoy aprendiendo los conceptos básicos de Python y ya me quedé atascado al comienzo del tutorial de argparse. Recibo el siguiente error:

 import argparse parser = argparse.ArgumentParser() args = parser.parse_args()
 usage: __main__.py [-h] echo __main__.py: error: unrecognized arguments: -f An exception has occurred, use %tb to see the full traceback. SystemExit: 2

un comando %tb da el siguiente resultado:

 SystemExit Traceback (most recent call last) <ipython-input-16-843cc484f12f> in <module>() ----> 1 args = parser.parse_args() C:\Users\Haik\Anaconda2\lib\argparse.pyc in parse_args(self, args, namespace) 1702 if argv: 1703 msg = _('unrecognized arguments: %s') -> 1704 self.error(msg % ' '.join(argv)) 1705 return args 1706 C:\Users\Haik\Anaconda2\lib\argparse.pyc in error(self, message) 2372 """ 2373 self.print_usage(_sys.stderr) -> 2374 self.exit(2, _('%s: error: %s\n') % (self.prog, message)) C:\Users\Haik\Anaconda2\lib\argparse.pyc in exit(self, status, message) 2360 if message: 2361 self._print_message(message, _sys.stderr) -> 2362 _sys.exit(status) 2363 2364 def error(self, message): SystemExit: 2

¿Cómo podría solucionar este problema?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

argparse es un módulo diseñado para analizar los argumentos pasados desde la línea de comando , por ejemplo, si escribe lo siguiente en un símbolo del sistema:

 $ python my_programme.py --arg1=5 --arg2=7

Puede usar argparse para interpretar la --arg1=5 --arg2=7 . Si argparse cree que los argumentos no son válidos, sale, lo que en general se hace en python al llamar a sys.exit() , lo que genera el error SystemExit , que es lo que está viendo.

Entonces, el problema es que está tratando de usar argparse desde un intérprete interactivo (se parece a ipython), y en este punto el programa ya se inició, por lo que los argumentos ya deberían haberse analizado.

Para probarlo correctamente, cree un archivo python separado, como my_programme.py , y ejecútelo usando python desde una línea de comando, como se ilustra.

over 4 years ago · Santiago Trujillo Denunciar

0

[ solución rápida ] Agregue un argumento de analizador ficticio en el código

 parser.add_argument('-f')
over 4 years ago · Santiago Trujillo Denunciar

0

se había encontrado con un problema similar. agregar estas líneas solucionó el problema para mí.

 import sys sys.argv=[''] del sys
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda