我正在谷歌应用引擎中开发我的应用程序,现在我使用的是Google Cloud SQL。它完全在localhost运行,但是当我将我的应用程序部署到服务器时,它会给我以下错误。
ImportError: No module named MySQLdb
后来我将MySQLdb包复制到应用程序目录。现在它给了我错误
ImportError: No module named _mysql.
我在这里做错了什么,任何准则?
答案 0 :(得分:7)
您的app.yaml中可能缺少MySQLdb。此库应该在那里,以便Google App Engine为您的实例加载它。希望这会有所帮助。
libraries:
- name: MySQLdb
version: "latest"
答案 1 :(得分:0)
查看完全没有这样做的文档。
Building an application with a local MySQL instance
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')
答案 2 :(得分:0)
这tutorial让我的应用程序最终正常工作......
我做了什么:我创建了一个非常基本的项目(只有一个带有一个模型的简单应用程序),并按照上面的教程使其在我的开发环境和GAE中运行。然后将我的代码从旧的(非GAE)项目迁移到新项目。一切都很好。
坏消息:在GAE和Cloud SQL上正确部署新项目仍需要一些努力。我从来没有设法让它一气呵成。你必须仔细检查GAE日志。