Вопрос

я создал свой ГАЭ приложение в каталоге "мое заявление".Внутри этого каталога я создал файл .py и назвал его "мой_скрипт".

Содержание "мой_скрипт"в начале были такими:


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

Затем я запустил его локально на своей машине (Windows XP) в установленном браузере (Мозилла ФайерФокс) с "GAE-лаунчер" - все было хорошо - я мог видеть это предложение ("Это мое первое приложение") на экране.

Затем я развернул это приложение на ГАЭ (опять же с помощью "GAE-лаунчер") - снова все было хорошо - я мог видеть на экране то же самое предложение.

Затем я изменил содержимое "мой_скрипт" немного:


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

Скачано "саржа0,9" (от здесь), выбрал и скопировал»саржа"папку оттуда и вставил ее"мое заявление"каталог.

Когда я запустил это новое приложение локально (с помощью "GAE-лаунчер") все было хорошо - я мог видеть список Yahoo.com ссылки на экране, но когда я загрузил это приложение в ГАЭ, я получил только сообщение об ошибке.

Почему это так?Я не думаю, что это потому, что версия механизировать используется саржа здесь слишком старый код в "мой_скрипт" это так просто, любая версия механизировать должен быть в состоянии справиться с этим.

Делает ГАЭ принимать саржа (как внешний модуль) вообще?

Вы можете просмотреть трассировку стека ошибки в разделе «Обновление 1» прямо ниже (↓).


ОБНОВЛЕНИЕ 1:

(Это обновление — мой ответ Нику)

Привет, Ник.Я проверил консоль администратора, вот трассировка стека:

<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

Это было полезно?

Решение

Twill пытается импортировать «подпроцесс».Это модуль Python для создания потоков, который недоступен в App Engine.Вам либо нужно будет посмотреть, сможете ли вы убедить Twill работать без создания процессов (вероятно, путем изменения кода), либо вам придется использовать механизацию или просто urlfetch напрямую.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top