【问题标题】:Failure to install C extension of a third party library at GAE python Flexible EnvironmentGAE python柔性环境安装第三方库C扩展失败
【发布时间】:2018-11-12 13:29:45
【问题描述】:

我已在 Google App Engine python 灵活运行时环境中部署了我的应用程序。
我想使用一个库(名为 shap),用于从随机森林模型中检索特征重要性。在部署到应用引擎时,我在 requirements.txt 中提到了它的名称。 我还注意到shap库的安装文件中提到了c扩展(shap库的依赖)的安装。 Google Cloud App Engine (Flexible) 应该安装这个库和所有依赖项,包括 c 扩展,但是当我在应用引擎上运行我的应用程序时,它开始出现以下错误:

名称“_cext”未定义。

这里的 _cext 是一个 c 扩展。 该库在本地运行良好。看来是应用引擎柔性环境有问题。 任何帮助将不胜感激。

【问题讨论】:

  • 该扩展通常是如何安装的?您是如何在本地系统上安装它的?
  • C 扩展是 shap 库的部分依赖。我遇到了与您在以下链接中看到的相同的错误:
  • 抱歉未完成评论。 C 扩展是 shap 库安装过程的部分依赖,我在谷歌云中遇到了同样的错误,正如它在以下链接中定义的那样:https://github.com/slundberg/shap/issues/96。区别在于本地已解决。我什至不知道谷歌云是否可以适配使用C语言文件作为扩展的第三方库。

标签: google-app-engine-python


【解决方案1】:

如果本地使用的解决方案完全依赖于pip 命令,您可以使用requirements.txt 文件选项,请参阅Requirements File Format

但如果您除了执行pip 操作之外还需要其他东西,那么您可能必须构建自定义运行时,请参阅Up-to-date pip with AppEngine Python flex env?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-23
    • 1970-01-01
    • 2018-02-08
    • 1970-01-01
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多