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 и попробуйте включить его как обычно.