配置不正确:加载MySQLdb模块时出错:这是MySQLdb版本(1,2,5,'final',1),但_mysql是版本(1,2,4,'beta',4)?

时间:2015-12-29 17:49:21

标签: python django google-app-engine

我正在尝试使用Google App Engine部署Django示例项目。它抛出了问题标题中提到的错误。 本地应用程序运行良好。在requirements.txt中,我将mysql-python版本更改为1.2.4和1.2.5都不起作用。我得到500错误。 我在SO上检查了很多关于同一个问题的答案,但似乎没有任何效果 我的app.yaml

# [START django_app]
version: 1
runtime: python27
api_version: 1
threadsafe: yes

handlers:
- url: /static
  static_dir: static/
- url: .*
  script: mysite.wsgi.application

# Only pure Python libraries can be vendored
# Python libraries that use C extensions can
# only be included if they are libraries available
# as part of the AppEngine SDk
libraries:
- name: MySQLdb
  version: "latest"
# [END django_app]

我的appengine_config:

# [START vendor]
from google.appengine.ext import vendor
vendor.add('lib')
# [END vendor]

1 个答案:

答案 0 :(得分:1)

1.2.4b4在撰写本文时确实是应用引擎在生产中提供的最新MySQLdb版本。您没有提供有关您的设置的详细信息,但是如果您在这个requirements.txt的虚拟环境中进行安装,则很可能MySQLdb.py文件是您要上传到GAE生产的Python文件中的一部分:确保< em> not 这样做,以便import MySQLdb将获得GAE本身提供的版本(当然,在你的app.yaml中有适当的规范)。

在本地,使用1.2.4开发,以避免意外使用1.2.4未提供的1.2.5功能;但是,最重要的是,最终会导致您上传到应用引擎的目录树中的MySQLdb.py文件。

如果您提供app.yaml和您正在上传的目录树的相关详细信息,您可以让我们提供更多,更具体的帮助和信息。根据您在问题中提供的非常少的信息,这是我们迄今为止所能做的最好的。