【问题标题】:Django error with connect mysql连接 mysql 的 Django 错误
【发布时间】:2017-09-12 00:10:33
【问题描述】:

一开始我尝试在.py中连接MySQL,成功了。

import pymysql
db = pymysql.connect(host='localhost',user='root',passwd='admin',port=3306)
cursor = db.cursor()
cursor.execute("SELECT VERSION()")
data = cursor.fetchone()
print ("Database version : %s " % data)
db.close()

但是当我在Django中使用时,是错误的

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'testdb',
        'USER':'root',
        'PASEWORD':'admin',
        'HOST':'localhost',
        'PORT':'3306',
    }
}

----错误:

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb

----我在“settings.py”中添加了“import pymysql”

错误:

ImportError: Could not import settings 'HelloWorld.settings' (Is it on sys.path? Is there an import error in the settings file?): No module named pymysql

版本: 苹果 蟒蛇3.6 django:1.7.11

【问题讨论】:

    标签: python mysql django


    【解决方案1】:

    在您的虚拟环境中使用 pip 安装 mysqlclient:

    pip install mysqlclient
    

    在此处检查您的 python 兼容性版本:https://pypi.python.org/pypi/mysqlclient

    并像这样指定要安装的版本:

    pip install mysqlclient==x.x.x
    

    对于 python 2.7,您可以使用 1.3.4 和最新版本 1.3.10

    【讨论】:

    • 我使用了 python 3.6 和 django:1.7.11
    • 好吧。安装它并告诉我发生了什么
    • 要求已经满足:/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages中的mysqlclient
    • 使用 pip freeze 来了解你安装的 mysqlclient 版本。然后使用 pip uninstall mysqlclient 卸载你的 mysqlclient。最后安装正确的版本。
    • 你的评论提醒了我。我使用 python3 manage.py.......它看起来很有用......但出现了新错误:django.db.utils.OperationalError: (1049, "Unknown database 'testdb'") 我确定我已经创建了mysql中的数据库,信息正确.....
    【解决方案2】:

    听起来您为独立测试 .py 和 Django 应用程序使用了不同的虚拟环境;并且 pymysql 没有安装在 Django 虚拟环境中。

    【讨论】:

      猜你喜欢
      • 2022-12-09
      • 2018-11-01
      • 2019-12-14
      • 1970-01-01
      • 1970-01-01
      • 2017-07-10
      • 2019-11-03
      • 2017-01-08
      • 2014-07-07
      相关资源
      最近更新 更多