Я создал свое GAE приложение в каталоге " my_application ". Внутри этого каталога я создал файл .py и назвал его " my_scrypt ".
Содержимое " my_scrypt " в начале было следующим:
print 'Content-Type: text/plain'
print ''
print 'This is my first application'
Затем я запустил его локально на своей машине ( Windows XP ) в установленном браузере ( Mozilla FireFox ) с " GAE Launcher " - все было хорошо - Я мог видеть это предложение (« Это мое первое приложение ») на экране.
Затем я развернул это приложение на GAE (снова с помощью " GAE Launcher ") - все снова было хорошо - я мог видеть то же предложение на экране.
Затем я немного изменил содержимое " my_scrypt ":
from twill.commands import *
config('use_tidy', '0')
go ("http://us.yahoo.com/")
showlinks()
Скачано " twill0.9 " (из здесь ), выбрано и скопировано " twill " оттуда, и вставил его в каталог " my_application ".
Когда я запускал это новое приложение локально (с « GAE Launcher »), все было нормально - я мог видеть список yahoo.com ссылок на экране, но когда я загрузил это приложение на GAE , я получил только сообщение об ошибке.
Почему это так? Я не думаю, что это потому, что версия mechanize , используемая twill , здесь слишком старая - код в " my_script " настолько прост, что любая версия механизировать должны быть в состоянии справиться с этим.
Может ли GAE принимать саржа (как внешний модуль) вообще?
Вы можете просмотреть трассировку стека ошибки в разделе «Обновление 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