【问题标题】:Python 2.7 : How to use BeautifulSoup in Google App Engine? [duplicate]Python 2.7:如何在 Google App Engine 中使用 BeautifulSoup? [复制]
【发布时间】:2013-01-16 06:59:04
【问题描述】:

我正在尝试关注:

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

我正在使用来自here 的这个模板 由于app.yaml 的父级是src,我添加了一个文件src.py 并在其中添加了两行。

我仍然看到同样的错误

ImportError: No module named bs4

但是,根据app.yaml,我的项目名称是flaskonappengine 请告诉我我到底做错了什么?

【问题讨论】:

标签: python google-app-engine beautifulsoup


【解决方案1】:

如果您想使用未包含在this list 中的第三方库,则必须手动添加它们。

为了手动包含任何其他库,您必须将它们放在app.yaml 所在的目录中。因此,例如,如果您具有以下结构:

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

然后在您的hello.py 中,您必须将这两行放在文件的开头:

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

完成此操作后,您将能够使用要放入该libs 目录中的任何第 3 方库。例如:

from bs4 import BeautifulSoup

更新

由于您使用的是该框架,因此请回滚您的更改并使用与用于烧瓶或 werkzeug 或其他第 3 方库的相同模式。把bs4放到src目录下试试就可以正常包含了。

【讨论】:

  • 谢谢,我试过了还是不行,我添加了更新,请帮忙
  • @daydreamer 我更新了我的答案,如果您设法在所有这些更改之前使其工作,那么就像我在答案中所写的那样,将它包含在 src 中应该很容易..
  • @daydreamer 到底有没有用?!如果它确实会很高兴被接受,因为它不断弹出......
  • @Lipis :我按照您的指南进行操作,但仍然出现错误。请看截图:dl.dropboxusercontent.com/u/27576887/1.JPG
  • 是的.. libs 是一个字符串.. 不是一个变量.. 'libs'
猜你喜欢
  • 2011-07-09
  • 2012-11-17
  • 2012-05-30
  • 1970-01-01
  • 2012-09-26
  • 2012-03-10
  • 1970-01-01
  • 2018-04-29
  • 1970-01-01
相关资源
最近更新 更多