[Python-es] ¿Incompatibilidad entre la versión 2.6 y la 2.7?

Edison Ibañez edison en openmailbox.org
Jue Ago 27 19:01:40 CEST 2015


el problema esta en las variables de entorno que estas pidiendo:

prueba con esto en el archivo sajax1.py:

def sajax_get_one_stub(func_name):
    if os.environ.has_key('SCRIPT_NAME'):
        uri = os.environ['SCRIPT_NAME']
        if os.environ.has_key('QUERY_STRING'):
            uri += "?" + os.environ['QUERY_STRING'] + "&rs=%s" % urllib.quote_plus(func_name)
        else:
            uri += "?rs=%s" % urllib.quote_plus(func_name)
         
        escapeduri = sajax_esc(uri)
        return """
        // wrapper for %(func_name)s
        function x_%(func_name)s(){
            // count args; build URL
         
            sajax_do_call("%(func_name)s",
                        "%(escapeduri)s",
                        x_%(func_name)s.arguments);
        }
         
        """ % locals()
    return ""



El 27/08/15 a las 11:04, Juan M. Puertas escribió:
> Gracias Kiko. Pero no se trata de eso, en ambos ordenadores da ese error
> si se ejecuta desde consola. multiply.py se sirve de sajax1.py para
> crear una página web en la que se hace una multiplicación usando Ajax.
> En un Servidor con Python 2.6 funciona bien, y en el otro con Python 2.7
> no.
> No es cuestión de permisos, pues un simple script de python con los
> mismos permisos muestra un "hola mundo en el navegador".
> Es extraño que a pesar de haber forzado a utilizar Python 2.6, para
> comprobar si se trata de una incompatibilidad entre versiones, me
> indique el error en un módulo de 2.7.
>
> El 27 de agosto de 2015, 13:34, Kiko <kikocorreoso en gmail.com
> <mailto:kikocorreoso en gmail.com>> escribió:
>
>     **
>
>     El 27 de agosto de 2015, 13:21, Juan M. Puertas
>     <soft.sirius en gmail.com <mailto:soft.sirius en gmail.com>> escribió:
>
>         Hola a todos.
>         Además de descubrir como funciona wget, sigo buscando la causa
>         de que un sencillo programa funcione en un Servidor con Python
>         2.6 y no lo haga con Python 2.7. Para ello he forzado la versión
>         así:
>
>         #!/usr/bin/env python2.6
>
>         A pesar de forzar la versión, en el Servidor que falla, el error
>         lo da en un módulo situado en Python 2.7
>
>          File "/usr/lib/python2.7/UserDict.py", line 23, in __getitem__
>             raise KeyError(key)
>         KeyError: 'SCRIPT_NAME'
>
>
>     Parece que tienes que definir la variable de entorno SCRIPT_NAME en
>     el otro pc (Debian). Parece que no existe y te da un KeyError.
>
>
>     _______________________________________________
>     Python-es mailing list
>     Python-es en python.org <mailto:Python-es en python.org>
>     https://mail.python.org/mailman/listinfo/python-es
>     FAQ: http://python-es-faq.wikidot.com/
>
>
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>



Más información sobre la lista de distribución Python-es