我正在使用谷歌应用引擎开发我的应用程序,现在我正在使用谷歌云 SQL。它完美地在本地主机上运行,但是当我将我的应用程序部署到服务器时,它给了我以下错误。
ImportError: No module named MySQLdb
后来我将 MySQLdb 包复制到应用程序目录。现在它给了我错误
ImportError: No module named _mysql.
我在这里做错了什么,有什么指导方针吗?
我正在使用谷歌应用引擎开发我的应用程序,现在我正在使用谷歌云 SQL。它完美地在本地主机上运行,但是当我将我的应用程序部署到服务器时,它给了我以下错误。
ImportError: No module named MySQLdb
后来我将 MySQLdb 包复制到应用程序目录。现在它给了我错误
ImportError: No module named _mysql.
我在这里做错了什么,有什么指导方针吗?
您的 app.yaml 中可能缺少 MySQLdb。这个库应该在那里,以便 Google App Engine 为您的实例加载它。希望这会有所帮助。
libraries:
- name: MySQLdb
version: "latest"
本教程让我的应用程序最终工作......
我做了什么:我创建了一个非常基本的项目(只有一个带有一个模型的简单应用程序)并按照上面的教程让它在我的开发环境和 GAE 上工作。然后将我的代码从我的旧(非 GAE)项目迁移到新项目。一切都很好。
坏消息:在 GAE 和 Cloud SQL 上正确部署一个新项目仍然需要一些努力。我从来没有设法让它一口气工作。您必须仔细检查 GAE 日志。
查看似乎根本不是您这样做的文档。
from google.appengine.api import rdbms
CLOUDSQL_INSTANCE = ''
DATABASE_NAME = 'guestbook'
USER_NAME = 'username'
PASSWORD = 'password'
def get_connection():
return rdbms.connect(instance=CLOUDSQL_INSTANCE, database=DATABASE_NAME,
user=USER_NAME, password=PASSWORD, charset='utf8')