Pregunta

He creado mi aplicación GAE en el directorio " my_application ". Dentro de este directorio he creado un archivo .py y la llamó " my_scrypt ".

El contenido de " my_scrypt " en el principio eran como sigue:


print 'Content-Type: text/plain'
print ''
print 'This is my first application'

Entonces me encontré localmente en mi máquina ( Windows XP ) en el navegador instalado ( Mozilla Firefox ) con " GAE Launcher " - todo estaba bien - pude ver que la oración ( " Esta es mi primera aplicación ") en la pantalla.

A continuación, desplegué esta solicitud a GAE (de nuevo con la ayuda de " GAE Launcher ") - todo estaba bien otra vez - me podría ver la misma frase en la pantalla .

Luego cambió el contenido de " my_scrypt " un poco:


from twill.commands import *
config('use_tidy', '0')
go ("http://us.yahoo.com/")
showlinks()

descargados " twill0.9 " (de aquí ), eligió y copiado" sarga strong>" carpeta de allí, y lo pegó en la " my_application " directorio.

Cuando me encontré con esta nueva aplicación a nivel local (con " GAE Launcher ") todo estaba bien - pude ver una lista de yahoo.com enlaces en la pantalla, pero cuando he subido a esta aplicación GAE , que recibió sólo un mensaje de error.

¿Por qué es así? No creo que es porque la versión de mecanizar siendo utilizado por sarga aquí es demasiado viejo - el código en " my_script " es tan sencillo , cualquier versión de mecanizar debe ser capaz de manejar la situación.

¿El GAE Aceptar sarga (como un módulo externo) en absoluto?

Se puede ver el seguimiento de la pila del error en la "Actualización 1" sección de la derecha abajo (?).


ACTUALIZACIÓN 1:

(Esta actualización es mi respuesta a Nick)

Hola, Nick. Revisé la consola de administración, por lo que aquí está el seguimiento de la pila:

<type 'exceptions.ImportError'>: No module named fcntl
Traceback (most recent call last):
  File "/base/data/home/apps/silkybutton/1.344911014283513184/bumper.py", line 1, in <module>
    from twill.commands import *
  File "/base/data/home/apps/silkybutton/1.344911014283513184/twill/__init__.py", line 52, in <module>
    from shell import TwillCommandLoop
  File "/base/data/home/apps/silkybutton/1.344911014283513184/twill/shell.py", line 9, in <module>
    from twill import commands, parse, __version__
  File "/base/data/home/apps/silkybutton/1.344911014283513184/twill/commands.py", line 70, in <module>
    from browser import TwillBrowser
  File "/base/data/home/apps/silkybutton/1.344911014283513184/twill/browser.py", line 17, in <module>
    from _browser import PatchedMechanizeBrowser
  File "/base/data/home/apps/silkybutton/1.344911014283513184/twill/_browser.py", line 9, in <module>
    from utils import FixedHTTPBasicAuthHandler, FunctioningHTTPRefreshProcessor
  File "/base/data/home/apps/silkybutton/1.344911014283513184/twill/utils.py", line 12, in <module>
    import subprocess
  File "/base/data/home/apps/silkybutton/1.344911014283513184/twill/other_packages/subprocess.py", line 378, in <module>
    import fcntl

¿Fue útil?

Solución

Sarga está tratando de 'subproceso' de importación. Este es un módulo de Python para el desove de las discusiones, y que no está disponible en App Engine. Ya sea que usted necesidad de ver si se puede convencer a la tela cruzada de trabajo sin procesos de desove (probablemente mediante la modificación del código), o tendrá que utilizar mecanizar o simplemente URLFETCH directamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top