Est-ce que GAE accepte sergé du tout?
-
04-10-2019 - |
Question
J'ai créé mon GAE l'application dans le répertoire " mon_application ". Dans ce répertoire, j'ai créé un fichier .py et la baptisa " my_scrypt ".
Le contenu de " my_scrypt " au début étaient comme suit:
print 'Content-Type: text/plain'
print ''
print 'This is my first application'
Alors je l'ai couru localement sur ma machine ( Windows XP ) dans le navigateur installé ( Mozilla FireFox ) avec " Lance GAE " - tout allait bien - je pouvais voir cette phrase ( « Ceci est ma première application ») à l'écran.
Je déployé cette application GAE (encore une fois avec l'aide de « Lance GAE ») - tout allait bien à nouveau - je pouvais voir la même phrase à l'écran .
Alors je change le contenu de " my_scrypt " un peu:
from twill.commands import *
config('use_tidy', '0')
go ("http://us.yahoo.com/")
showlinks()
" twill0.9 " (de ici ), a choisi et copié" twill » dossier à partir de là, et collé dans " mon_application répertoire ".
Quand je courais cette nouvelle application locale (avec " Lance GAE ") tout allait bien - je pouvais voir une liste de yahoo.com liens sur l'écran, mais quand je téléchargé cette application GAE , j'ai reçu seulement un message d'erreur.
Pourquoi est-il? Je ne pense pas que ce soit parce que la version de mécaniser utilisé par twill ici est trop vieux - le code dans " my_script " est si simple , une version de mécaniser doit être capable de le traiter.
Est-ce que GAE accepter twill (comme un module externe) du tout?
Vous pouvez voir la trace de la pile de l'erreur dans la section « Mise à jour 1 » juste en dessous (?).
UPDATE 1:
(Cette mise à jour est ma réponse à Nick)
Bonjour, Nick. J'ai vérifié la console d'administration, alors voici la trace de la pile:
<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
La solution
Sergé tente de « sous-processus » importation. Ceci est un module Python pour les fils de frai, et ce n'est pas disponible sur App Engine. Vous aurez soit besoin de voir si vous pouvez persuader Sergé de travailler sans processus de frai (probablement en modifiant le code), ou vous aurez besoin d'utiliser mécaniser ou simplement urlfetch directement.