使用外部库在Google Cloud App Engine上部署Django项目

时间:2017-07-19 12:27:21

标签: python django postgresql google-app-engine google-cloud-platform

美好的一天!

我需要在Python Django上部署一个带有以下库的应用程序:

  • certifi == 2017.4.17
  • chardet == 3.0.4
  • Django == 1.11.2
  • httplib2 == 0.10.3
  • idna == 2.5
  • oauth2 == 1.9.0.post1
  • psycopg2 == 2.7.1
  • pytz == 2017.2
  • requests == 2.18.1
  • urllib3 == 1.21.1

我必须将它连接到PostgreSQL数据库。

那么,我应该使用什么环境?标准还是灵活?

如何将这些库安装到环境中?

P.S。

我已尝试过所有内容:app.yamlappengine_config.py,我已将libs直接安装到源代码('libs'文件夹),并将库添加到app.yaml,甚至{{1} }}

最后我有:

  

ImproperlyConfigured:加载psycopg2模块时出错:动态模块   没有定义init函数(init_psycopg)

1 个答案:

答案 0 :(得分:1)

  

那么,我应该使用什么环境?标准还是灵活?

您的出发点应该是Choosing an App Engine Environment指南,并考虑到您的所有要求。

  

我必须将它连接到PostgreSQL数据库。

此要求使选择变得非常简单。来自Connecting from App Engine

  

此页面提供了有关如何使用的信息的语言特定链接   从App Engine灵活环境设置连接   应用于CloudSQL for PostgreSQL实例。

Note: Connection from an App Engine standard environment application
to a PostgreSQL instance is not supported.

环境如此灵活。

  

如何将这些库安装到环境中?

这取决于您使用的环境。你尝试的是标准的环境方式。

在灵活的环境中,依赖关系的处理方式不同。来自Dependencies

  

运行时在您的文件中查找requirements.txt文件   应用程序的源目录并使用pip安装任何   启动应用程序之前的依赖关系。有关的更多信息   声明和管理包,请参阅Using Python Libraries