如何在Google App Engine中包含第三方Python库?

发布于 2021-02-02 23:11:31

如何在Google App Engine中添加Google不提供的第三方python库?我正在尝试在Google App Engine中使用BeautifulSoup,但无法这样做。但是我的问题是我想在Google App Engine中使用的任何库。

关注者
0
被浏览
94
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

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

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

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

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

    完成此操作后,你将能够使用要放入该libs目录的任何第三方库。

    例如:

    from bs4 import BeautifulSoup
    


  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    Google为你的GAE项目中包含的第三方库提供了一种有据可查的方法。

    请参阅Python 2.7 docs中库的“向应用程序添加第三方程序包”部分。

    如果要包括其他纯Python第三方程序包,可以通过设置供应商来实现。供应商允许你将软件包安装到项目的子目录中,并将其包含在代码中。要使用供应商,请在项目的根目录中创建(或修改)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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看