【问题标题】:Django, mysql ; Error loading MySQLdb module姜戈,mysql;加载 MySQLdb 模块时出错
【发布时间】:2017-08-11 13:50:01
【问题描述】:

我刚刚尝试在我的笔记本电脑(windows 10,pycharm)上从 github 签出一个我正在处理的项目。我安装了每个库和它需要运行的连接器,尝试运行服务器并得到这个:

    Unhandled exception in thread started by <function wrapper at 0x046FDEF0>
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\django\utils\autoreload.py", line 226, in wrapper
    fn(*args, **kwargs)
  File "C:\Python27\lib\site-packages\django\core\management\commands\runserver.py", line 113, in inner_run
    autoreload.raise_last_exception()
  File "C:\Python27\lib\site-packages\django\utils\autoreload.py", line 249, in raise_last_exception
    six.reraise(*_exception)
  File "C:\Python27\lib\site-packages\django\utils\autoreload.py", line 226, in wrapper
    fn(*args, **kwargs)
  File "C:\Python27\lib\site-packages\django\__init__.py", line 27, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Python27\lib\site-packages\django\apps\registry.py", line 108, in populate
    app_config.import_models(all_models)
  File "C:\Python27\lib\site-packages\django\apps\config.py", line 199, in import_models
    self.models_module = import_module(models_module_name)
  File "C:\Python27\lib\importlib\__init__.py", line 37, in import_module
    __import__(name)
  File "C:\Python27\lib\site-packages\django\contrib\auth\models.py", line 4, in <module>
    from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
  File "C:\Python27\lib\site-packages\django\contrib\auth\base_user.py", line 52, in <module>
    class AbstractBaseUser(models.Model):
  File "C:\Python27\lib\site-packages\django\db\models\base.py", line 119, in __new__
    new_class.add_to_class('_meta', Options(meta, app_label))
  File "C:\Python27\lib\site-packages\django\db\models\base.py", line 316, in add_to_class
    value.contribute_to_class(cls, name)
  File "C:\Python27\lib\site-packages\django\db\models\options.py", line 214, in contribute_to_class
    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
  File "C:\Python27\lib\site-packages\django\db\__init__.py", line 33, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "C:\Python27\lib\site-packages\django\db\utils.py", line 211, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "C:\Python27\lib\site-packages\django\db\utils.py", line 115, in load_backend
    return import_module('%s.base' % backend_name)
  File "C:\Python27\lib\importlib\__init__.py", line 37, in import_module
    __import__(name)
  File "C:\Python27\lib\site-packages\django\db\backends\mysql\base.py", line 28, in <module>
    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb

我的机器上安装的 Pip 库:

    pip freeze
altgraph==0.10.2
appdirs==1.4.2
automa==0.1.21
bdist-mpkg==0.5.0
click==6.7
CmdUtils==0.1
decorator==4.0.11
Django==1.10.5
django-bootstrap-themes==3.3.6
django-bootstrap3==7.1.0
django-console==0.4.7
django-mysql==1.1.0
django-mysql-manager==0.1.4
django-mysql-pymysql==0.1
django-registration-redux==1.4
DjangoMySQLDump==0.1
future==0.16.0
HTSQL==2.3.3
httpsproxy-urllib2==1.0
humanfriendly==2.4
Jinja2==2.9.5
macholib==1.5.1
MarkupSafe==0.23
modulegraph==0.10.4
monotonic==1.2
mysql==0.0.1
mysql-autodoc==0.2
mysql-autoxtrabackup==1.4.5
mysql-connector==2.1.4
mysql-connector-python==2.1.5
mysql-connector-python-rf==2.2.2
mysql-connector-repackaged==0.3.1
mysql-corsair==0.0.36
MySQL-python==1.2.5
mysql-replay==0.1.24
mysqlclient==1.3.9
mysqli==0.5.3
networkx==1.11
nltk==3.2.1
nltk-tgrep==1.0.6
packaging==16.8
pid==2.1.1
py2app==0.7.3
PyMySQL==0.7.10
pyparsing==2.1.10
python-dateutil==1.5
pytz==2013.7
PyYAML==3.12
rake-nltk==1.0.0
requests==2.11.1
selenium==3.0.2
six==1.10.0
termcolor==1.1.0
urllib2-file==0.2.1
urllib2-kerberos==0.1.6
urllib2-prior-auth==0.2.0
virtualenv==15.1.0
zope.interface==4.1.1

知道如何解决这个问题吗?

【问题讨论】:

  • 构建 python-mysqldb 库的依赖项:sudo apt-get build-dep python-mysqldb 安装 Python MySQL 库:sudo pip install MySQL-python
  • @JitendraMeena 我用我机器上安装的库更新了这个问题。
  • 什么返回 pip -V ?
  • @SimeonPopov : pip -V pip 9.0.1 from c:\python27\lib\site-packages (python 2.7)

标签: mysql django python-2.7


【解决方案1】:

在 settings.py 中,在 import os 正下方添加以下内容。

try:
    import pymysql
    pymysql.install_as_MySQLdb()
except:
    pass

【讨论】:

    猜你喜欢
    • 2014-12-21
    • 2015-09-25
    • 2013-03-13
    • 1970-01-01
    • 2016-03-05
    • 2015-08-22
    • 2017-01-27
    • 2014-11-12
    • 2019-09-26
    相关资源
    最近更新 更多