python – 让Django 1.7在Google App Engine上工作

栏目: Python · 发布时间: 7年前

内容简介:翻译自:https://stackoverflow.com/questions/26207326/getting-django-1-7-to-work-on-google-app-engine

任何人都可以帮助我们指出如何让Django> 1.5在Google App Engine上工作吗?我见过很多人声称他们有Django 1.6工作.我们希望运行1.6或1.7.我在这里搜索了有关如何设置它的说明.到目前为止没有运气.

更新:

在我们的开发机器中,我们安装了Django 1.7(/ user / local和virtualenv).但是,如果我们修改GAE yaml以使用Django 1.7,我们会收到以下错误消息:

google.appengine.api.yaml_errors.EventError: django version "1.7" is not supported, use one of: "1.2", "1.3", "1.4", "1.5" or "latest" ("latest" recommended for development only)   in "./app.yaml",

我们的/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib目录中的版本1.9.12 GoogleAppEngine sdk安装显示了列出的以下Django版本:

> django-0.96 django-1.2 django-1.3 django-1.4 django-1.5

我的问题与如何在Google App Engine上为Django 1.7正确设置我们的开发环境以及如何确保我们在生产中部署到Google App Engine时使用Django 1.7成功部署我们的应用程序有关.当我们部署应用程序时,如何让Django 1.7在GAE上部署?

You can use any pure Python third party libraries in your Google App Engine application. In order to use a third party library, simply include the files in your application’s directory, and they will be uploaded with your application when you deploy it to our system. You can import the files as you would any other Python files with your application.

我有这样使用Django 1.7的应用程序,一切正常.但是,由于App Engine的限制及其细节,有时您可能需要进行某些操作.但这取决于您的使用案例.

我还建议您为项目使用虚拟环境.通过pip直接安装App Engine不支持的每个库,然后在应用程序目录中创建指向给定库的符号链接.

这样,您可以将所有必需的包保存在可以存储在SCM系统(例如Git)中的文件(例如requirements.txt)以及源文件和其他团队成员中,可以非常轻松地复制您的工作环境.

如果您使用虚拟环境并通过pip安装所有需要的库(Django,…),这里是适合您的目录布局.

> virtual-env-root

> .Python

> bin

>包括

> lib

> app-engine-project-root

> app.yaml

> django-project-root

> django-app-root

> symlink-to-django – > LIB / python2.7 / site-packages中/ Django的

> symlink-to-another-lib – > LIB / python2.7 / site-packages中/ …

使用以下命令可以轻松部署这样的布局.

$appcfg.py update app-engine-project-root

或者使用App Engine开发服务器进行测试.

$dev_appserver.py app-engine-project-root

UPDATE

从App Engine Python SDK版本1.9.15开始,您可以使用 vendoring 机制来设置第三方库.您不必在应用程序目录中创建指向Python lib文件夹的符号链接.

直接在应用程序根目录中创建lib目录,并通过appengine_config.py文件告诉应用程序如何在此目录中查找库.

from google.appengine.ext import vendor

# Add any libraries installed in the "lib" folder.
vendor.add('lib')

新的目录布局如下.

> virtual-env-root

> .Python

> bin

>包括

> lib

> app-engine-project-root

> lib

> app.yaml

> appengine_config.py

> django-project-root

> django-app-root

使用带有-t lib标志的pip在此目录中安装库.

$pip install -t lib [lib-name]

要么

$pip install -t lib -r requirements.txt

翻译自:https://stackoverflow.com/questions/26207326/getting-django-1-7-to-work-on-google-app-engine


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

网站运维技术与实践

网站运维技术与实践

饶琛琳 / 电子工业出版社 / 2014-3 / 69.00元

网站运维工作,一向以内容繁杂、覆盖面广著称。《网站运维技术与实践》选取日常工作涉及的监测调优、日志分析、集群规划、自动化部署、存储和数据库等方面,力图深入阐述各项工作的技术要点及协议原理,并介绍相关开源产品的实践经验。在技术之外,作者也分享了一些关于高效工作及个人成长方面的心得。 《网站运维技术与实践》适合Linux 系统管理员、中大型网站运维工程师及技术负责人、DevOps 爱好者阅读。同......一起来看看 《网站运维技术与实践》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码