Python 2.7: Как использовать BeautifulSoup в Google App Engine?

Я стараюсь:

from bs4 import BeautifulSoup

и получил ошибку

Traceback (most recent call last):
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/admin/__init__.py", line 355, in post
    exec(compiled_code, globals())
  File "<string>", line 1, in <module>
ImportError: No module named bs4

Как я могу использовать его с Google App Engine runtime 2.7?

Обновление
Моя структура проекта выглядит как

flask-appengine-template/
                        docs/
                        licenses/
                        src/
                            application/
                                        static/
                                        templates/
                                        models.py
                                        settings.py
                                        urls.py
                                        views.py
                        libs/
                            bs4/
                         app.yaml
                         src.py

Я использую этот шаблон из здесь Поскольку родительский элемент app.yaml равен src, я добавил файл src.py и добавил туда две строки.

Я все еще вижу ту же ошибку

ImportError: No module named bs4

Однако мое название проекта в соответствии с app.yaml равно flaskonappengine Скажите, пожалуйста, что я все еще делаю неправильно?

Ответ 1

Если вы хотите использовать сторонние библиотеки, которые не включены этот список, вам придется добавлять их вручную.

Чтобы включить вручную любую другую библиотеку, вы должны иметь их в каталоге, где живет app.yaml. Так, например, если у вас есть следующая структура:

hello
├── libs
│   └── bs4 
├── hello.py 
└── app.yaml

то в вашем hello.py вам нужно поместить эти две строки в начало файла:

import sys
sys.path.insert(0, 'libs')

После этого вы сможете использовать любую стороннюю библиотеку, которую вы собираетесь разместить в этом каталоге libs. Например:

from bs4 import BeautifulSoup

Update

Поскольку вы используете эту фреймворк, откатите свои изменения и используйте тот же шаблон, что и в фляге или werkzeug или других сторонних библиотеках. Просто поместите bs4 в каталог src и попробуйте включить его как обычно.