在Google Cloud上部署应用程序期间出现Nltk问题

时间:2019-05-13 10:42:52

标签: google-app-engine deployment google-cloud-platform nltk

我尝试在gcloud应用引擎上部署应用程序,当部署完成并且尝试浏览URL时,出现502服务器错误。日志显示nltk软件包有问题:

[31m>>> import nltk 
   >>> nltk.download('punkt') 
   [0m 
   Searched in: 
     - '/root/nltk_data' 
     - '/usr/share/nltk_data' 
     - '/usr/local/share/nltk_data' 
     - '/usr/lib/nltk_data' 
     - '/usr/local/lib/nltk_data' 
     - '/env/nltk_data' 
     - '/env/lib/nltk_data' 
     - ''  

我已经在我的app.yaml文件中添加了必要的硬件要求:

service: vapi
runtime: python
env: flex
health_check:
    enable_health_check: True
    check_interval_sec: 5
    timeout_sec: 4
    unhealthy_threshold: 2
    healthy_threshold: 2
entrypoint: gunicorn -b :$PORT wsgi:app
runtime_config:
    python_version: 3.5
resources:
  cpu: 2
  memory_gb: 8
  disk_size_gb: 20

我试图将nltk软件包安装到上面日志中显示的搜索路径之一中。

此外,我还创建了App Engine配置文件:

# appengine_config.py
from google.appengine.ext import vendor

# Add any libraries install in the "lib" folder.
vendor.add(os.path.join(os.path.dirname(os.path.realpath(__file__)), 'lib'))

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您正在将标准环境的文档与灵活环境的文档混在一起。

将依赖项安装到lib目录中并使用appengine_config.py文件是specific for the 1st generation standard environment

对于灵活的环境,您可以使用requirements.txt文件指定python依赖项,请参见Using Python Libraries

  

Python运行时将automatically install所有依赖项   在部署期间在您的requirements.txt中声明。

对于非python依赖项或不能通过pip安装的依赖项,可以使用自定义运行时,请参见Up-to-date pip with AppEngine Python flex env?

可能感兴趣:How to tell if a Google App Engine documentation page applies to the 1st/2nd generation standard or the flexible environment