<p>由于我是GAE、Python、MySQL的新手,并且在macosx上使用GAE进行开发,所以我花了一段时间才弄清楚如何让示例应用程序工作。因为我已经找到了解决方案,所以我想在这里分享它,这样您就可以按照我的步骤,使用本地MySQL实例在本地GAE-SDK环境中安装并运行示例应用程序。在</p>
<p>就我个人而言,我发现这非常有用和方便,因为对于开发人员来说,在将GAE应用程序部署到googleappenginepaas之前,在自己的机器上使用本地MySQL实例来开发他们的GAE应用程序是非常自然的。在</p>
<p>话虽如此,以下是我想分享的程序:</p>
<ol>
<li><p>从安装MySQL dmgmysql.com网站社区站点(我的版本是mysql-5.5.30-osx10.6-x86_64.dmg)</p></li>
<li><p>修改~/.profile以添加这些环境变量(添加这些行)
export PATH=/usr/local/mysql/bin:$PATH(或安装的任何版本的mysql)
导出DYLD_LIBRARY_PATH=/usr/local/mysql/lib/</p></li>
<li><p>如果你还没有从苹果的AppStore安装Xcode。然后确保您也安装了“命令行工具”,从首选项“下载”部分。这一步是必要的,因为它将在下面的步骤4中安装gcc编译器(位于我的文件系统:/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2)来构建MySQL-python连接器。</p></li>
<li><p>然后运行“sudo easy_install MySQL python”(这样您就可以将应用程序连接到Mac上的本地MySQL实例)</p></li>
<li><p>因为googleappenginesdkforpython是一个沙箱环境,所以您需要在这个文件/usr/local/bin/dev中添加“import MySQLdb”_应用服务器.py将GAE的沙盒环境连接到本地MySQL实例。您需要在的[sample code][2]中进行以下更改“主.py“文件。在正确运行示例代码之前,请执行以下操作:</p>
<ul>
<li>在“import”部分添加“import MySQLdb”语句。在</li>
<li>将“CLOUDSQL_INSTANCE=''”语句替换为“CLOUDSQL_INSTANCE='localhost'”。在</li>
<li>因为MySQLdb包是与MySQL兼容的DB-API v2.0接口,所以需要重写“get_connection()”函数。MySQLdb的“connect()”函数无法理解参数:“instance”、“database”和“password”。要使用MySQLdb包访问本地MySQL实例,需要重写“get_connection”函数如下:<pre><code>
def get_connection():
return MySQLdb.connect(host=CLOUDSQL_INSTANCE, db=DATABASE_NAME,
user=USER_NAME, passwd=PASSWORD, charset='utf8')
</code></pre></li>
</ul></li>
<li><p>完成以上所有步骤后,现在可以通过执行以下命令来启动示例应用程序:“dev_应用服务器.py“.”在应用程序目录中。</p></li>
<li><p>如果您使用的是默认的8080端口,您可以将浏览器指向<code>http://localhost:8080</code>。</p></li>
<li><p>享受并享受乐趣。</p></li>
</ol>