Я сделал приложение в Google приложении, которое использует Beautiful Soup. Я использую последнюю версию, http://www.crummy.com/software/BeautifulSoup/bs4/download/4.0/. Все работало нормально, пока я не загрузил его в GAE. Дело в том, что случилось тогда, что я получил эту ошибку:Ошибка BeautifulSoup в Google appengine
Traceback (most recent call last):
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/_webapp25.py", line 701, in __call__
handler.get(*groups)
File "/base/data/home/apps/s~app/1.358226218191077920/main.py", line 285, in get
self.response.out.write(self.makeQuery("9147094591"))
File "/base/data/home/apps/s~app/1.358226218191077920/main.py", line 191, in makeQuery
from bs4 import BeautifulSoup
File "/base/data/home/apps/s~app/1.358226218191077920/bs4/__init__.py", line 29, in <module>
from .builder import builder_registry
File "/base/data/home/apps/s~app/1.358226218191077920/bs4/builder/__init__.py", line 279, in <module>
from . import _htmlparser
File "/base/data/home/apps/s~app/1.358226218191077920/bs4/builder/_htmlparser.py", line 23, in <module>
from bs4.element import (
File "/base/data/home/apps/s~app/1.358226218191077920/bs4/element.py", line 6, in <module>
from bs4.dammit import EntitySubstitution
File "/base/data/home/apps/s~app/1.358226218191077920/bs4/dammit.py", line 254
smart_quotes_re = b"([\x80-\x9f])"
^
SyntaxError: invalid syntax
Когда я смотрю на линии 254 в dammit.py я нахожу это:
if (self.smart_quotes_to is not None
and proposed.lower() in self.ENCODINGS_WITH_SMART_QUOTES):
smart_quotes_re = b"([\x80-\x9f])"
smart_quotes_compiled = re.compile(smart_quotes_re)
markup = smart_quotes_compiled.sub(self._sub_ms_char, markup)
Я не могу видеть, что это неправильно. Я пробовал другие версии BS, но они не работают, потому что я использую soup.select («CSS SELECTOR»), который работает только в последней версии.
Но, как я сказал ранее, он работал отлично на моем компьютере, но не в облаке.
Это не требует платного приложения. Вам нужно только указать его в файле 'app.yaml'. Это также потребует, чтобы вы включили или отключили потоковое освещение в явном виде. –
Я думаю, что 2.7 на GAE все еще в бета-версии. –
@JoelCornett: [Nope] (http://googleappengine.blogspot.co.uk/2012/02/announcing-general-availability-of.html)! –