将MySQL与dev_appserver(Google App Engine)和Google SQL Service一起使用

Edd*_*e B 10 mysql google-app-engine

我正在使用Google App Engine和Google SQL Service,并希望使用该选项

dev_appserver.py --mysql_user = username myapp

为了开发目的使用本地MySQL数据库,以及在prod环境中使用SQL Service.

我安装了MySQLdb并正在工作:

/usr/bin>>python
Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>> 
Run Code Online (Sandbox Code Playgroud)

但是,当我运行dev_appserver命令时,我收到以下错误:

zipimporter('/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg', 'MySQLdb/')
ERROR    2011-09-12 09:34:53,541 rdbms_mysqldb.py:90] The rdbms API is not available because the MySQLdb library could not be loaded.
Run Code Online (Sandbox Code Playgroud)

我已经验证了MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg位于该位置(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/并且它是可访问的.

知道可能导致此错误的原因是什么?

下面提供了完整的堆栈跟踪信息:

/Users/eddieboyd>>dev_appserver.py --debug --mysql_user=mysql  eddiehelloworld
Warning: You are using a Python runtime (2.7) that is more recent than the production runtime environment (2.5). Your application may use features that are not available in the production environment and may not work correctly when deployed to production.
INFO     2011-09-12 09:34:53,290 appengine_rpc.py:159] Server: appengine.google.com
INFO     2011-09-12 09:34:53,304 appcfg.py:449] Checking for updates to the SDK.
DEBUG    2011-09-12 09:34:53,305 appengine_rpc.py:364] Sending HTTPS request:
POST /api/updatecheck?release=1.5.3&timestamp=1311108376&api_versions=%5B%271%27%5D HTTPS/1.1
Host: appengine.google.com
X-appcfg-api-version: 1
Content-type: application/octet-stream
User-agent: appcfg_py/1.5.3 Darwin/10.8.0 Python/2.7.2.final.0


INFO     2011-09-12 09:34:53,465 appcfg.py:466] The SDK is up to date.
WARNING  2011-09-12 09:34:53,465 datastore_file_stub.py:512] Could not read datastore data from /var/folders/++/++71vE++6+0++4RjPqRgNE+0Eyo/-Tmp-/dev_appserver.datastore
INFO     2011-09-12 09:34:53,478 py_zipimport.py:148] zipimporter('/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg', 'MySQLdb/')
ERROR    2011-09-12 09:34:53,541 rdbms_mysqldb.py:90] The rdbms API is not available because the MySQLdb library could not be loaded.
ERROR    2011-09-12 09:34:53,541 dev_appserver_main.py:638] <type 'exceptions.NotImplementedError'>: Unable to find the MySQLdb library. Please see the SDK documentation for installation instructions.
DEBUG    2011-09-12 09:34:53,543 dev_appserver_main.py:640] Traceback (most recent call last):
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_main.py", line 635, in main
    dev_appserver.SetupStubs(appinfo.application, **option_dict)
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver.py", line 4668, in SetupStubs
    rdbms_mysqldb.connect(database='')
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/rdbms_mysqldb.py", line 96, in connect
    'Unable to find the MySQLdb library. Please see the SDK '
NotImplementedError: Unable to find the MySQLdb library. Please see the SDK documentation for installation instructions.
Run Code Online (Sandbox Code Playgroud)

小智 3

穷人的解决方案。

我添加了

“导入MySQLdb”

在 dev_appserver.py 中。

现在可以了。