如何在Google App Engine中添加Google不提供的第三方python库?我正在尝试在Google App Engine中使用BeautifulSoup,但无法这样做。但是我的问题是我想在Google App Engine中使用的任何库。
为了手动包括任何其他库,你必须将它们放在其中的目录中app.yaml。因此,例如,如果你具有以下结构:
hello ├── libs │ └── bs4 ├── hello.py └── app.yaml
然后hello.py你必须将这两行放在文件的开头:
import sys sys.path.insert(0, 'libs')
完成此操作后,你将能够使用要放入该libs目录的任何第三方库。
例如:
from bs4 import BeautifulSoup
Google为你的GAE项目中包含的第三方库提供了一种有据可查的方法。
请参阅Python 2.7 docs中库的“向应用程序添加第三方程序包”部分。
如果要包括其他纯Python第三方程序包,可以通过设置供应商来实现。供应商允许你将软件包安装到项目的子目录中,并将其包含在代码中。要使用供应商,请在项目的根目录中创建(或修改)appengine_config.py。
appengine_config.py
from google.appengine.ext import vendor # Add any libraries installed in the "lib" folder. vendor.add('lib')
然后只需将所有库的源代码放在lib目录中
> pip install beautifulsoup4 -t lib
因此,你的项目目录结构如下所示:
project - lib - bs4 - your_code.py
这将允许你项目的源文件导入libs的程序包/模块,就像它们已添加到你的中一样PYTHON_PATH。例如:
# file: your_code.py import bs4 # no need for 'from lib import bs4' # do stuff with bs4...
你还可以通过执行以下命令轻松地从requirements.txt文件安装所有内容
pip install -t lib -r requirements.txt