【问题标题】:ImportError: No module named builtins - Google App Engine Standard - Django - Python 2.7ImportError:没有名为 builtins 的模块 - Google App Engine 标准 - Django - Python 2.7
【发布时间】:2018-07-19 15:51:37
【问题描述】:

我正在尝试部署应用程序,但此错误不断出现。我在views/models/form/settings.py 中使用以下命令,以便使用与Python 3 相同的代码。

from __future__ import absolute_import, division, print_function
from builtins import (bytes, str, open, super, range,
                  zip, round, input, int, pow, object)

我已经在我的 requirements-vendor.txt 上安装了 library:future==0.16.0

我可以在本地主机上运行它,使用 Conda Env (python 2.7),但在 GAE(标准)上部署时出现 500 服务器错误。

【问题讨论】:

  • @snakecharmerb 您好,谢谢您的回答!事实上,这是正确配置的,我有文件夹 libappengine_config.py 就像你推荐的和谷歌的教程页面一样。但是我最终转向了灵活的环境。我尝试在 Standard 上再次测试,但我已经在项目中进行了很多更改并且出现了一些其他错误,所以我无法再在那里部署。在 flexenv 上一切正常。感谢您的帮助!

标签: python django python-2.7 google-app-engine built-in


【解决方案1】:

App Engine Standard 实际上并不依赖 requirements.txt 文件来使用第三方库,App Engine Flexbile 就是这种情况

如果要使用不在已内置库列表中的第三方库 (this list),如本例中为future,则需要遵循Using third-party libraries for App Engine Standard docs, @snakecharmerb 提到了。在您拥有 app.yaml 文件的同一文件夹中执行以下操作:

  1. 创建一个存储您的第三方库的目录:

    mkdir lib

  2. 在创建的文件夹上安装库:

    pip install -t lib future==0.16.0

  3. 创建名为appengine_config.py 的文件并将以下两行添加到文件中:

    from google.appengine.ext import vendor

    vendor.add('lib')

【讨论】:

  • 您好,谢谢您的回答!事实上,这是正确配置的,我有文件夹 libappengine_config.py 就像你推荐的和谷歌的教程页面一样。但是我最终转向了灵活的环境。我尝试在 Standard 上再次测试,但我已经在项目中进行了很多更改并且出现了一些其他错误,所以我无法再在那里部署。在 flexenv 上一切正常。感谢您的帮助!
猜你喜欢
  • 2015-01-25
  • 2017-11-12
  • 2019-05-24
  • 1970-01-01
  • 2013-03-06
  • 2014-10-30
  • 1970-01-01
  • 2015-07-20
  • 2015-09-02
相关资源
最近更新 更多