2009-11-25 8 views
5

No estoy seguro de por qué recibo este error que está terminando mi conexión. Actualicé paramiko-1.7.6 desde 1.7.5 a través de easy_install.Error de red No se encontraron manipuladores para el registrador "paramiko.transport"

Estoy intentando configurar Fabric para cargar mi aplicación Django en mi servidor. El error parece estar sucediendo cuando intento hacer una copia de seguridad del directorio de aplicación existente:

def backup_current_install(): 
    now = datetime.datetime.now() 
    cmd="cp -r /home/path/django-projects/app /home/path/django-projects/app%s" % now.strftime("%Y%m%d_%I:%M:%S") 
run(cmd) 

he puesto:

env.hosts 
env.password 

En el fabfile y no estoy seguro de cómo navegar en este error del manejador

+0

¿Puede por favor publicar la excepción completa o el texto de advertencia que está causando que el programa salga o finalice su conexión? – jathanism

+0

¿Dónde encontraría esta información? El fragmento que copié es todo lo que estoy viendo. – BryanWheelock

+0

Cuando ejecuta 'run (cmd)' en su script, ¿cuál es el resultado que está viendo? ¿Se muestra como una advertencia o un error? – jathanism

Respuesta

9

Resulta que este error fue el resultado de que no configuré env.password como una cadena simple.

Tanto env.user y env.password debe ser cadenas simples, no listas. Documentation

2

Si no está causando un problema, puede ignorar este mensaje.

En este caso, la biblioteca (paramiko) espera que la aplicación maneje el registro. Sin embargo, el programador de aplicaciones probablemente esperaba que la biblioteca no tuviera ningún efecto secundario y manejara el registro correctamente.

Ver Configuring Logging for a Library.

+0

el error es la terminación de la conexión – BryanWheelock

+4

Es más probable que sea al revés: su conexión se está terminando, y paramiko está intentando registrar el error. Ese mensaje se imprime en la consola, pero no hay ninguna excepción planteada. – JimB

+3

"puede ignorar este mensaje de forma segura". Esto no es necesariamente cierto. El resultado puede ser significativo y mostrar un error en su programa. Para descubrir el mensaje de error, puede insertar 'registro de importación; logging.getLogger ('paramiko.transport'). addHandler (logging.StreamHandler()) 'en la parte superior de su archivo fab y mostrará el mensaje de registro. – sitaktif

0

Además de las respuestas anteriores:

Si usted quiere encontrar una causa raíz del error en su aplicación es útil para habilitar el registro que fue señalada por el mensaje:

Tela Error No manipuladores hemos encontrado nada con logger “paramiko.transport”

puede habilitar el registro de paramico en tejido de la siguiente manera:

from fabric.network import ssh 

ssh.util.log_to_file("paramiko.log", 10) 
Cuestiones relacionadas