在 Python Django 中加载 Mysqldb 模块时出错
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/29631430/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Error loading Mysqldb module in Python Django
提问by Akseone
I am currently working on Ubuntu 14.10/Python/Django/MySQL and encountering the following error when I try to run:
我目前正在 Ubuntu 14.10/Python/Django/MySQL 上工作,当我尝试运行时遇到以下错误:
$python manage.py makemigrations polls
or
或者
$python manage.py migrate polls
I have also tried syncdb The error is:
我也试过 syncdb 错误是:
(Aaronpythonenv)aaron@aaron-N550JK:~/mysite$ python manage.py makemigrations polls Traceback (most recent call last): File "manage.py", line 10, in execute_from_command_line(sys.argv) File "/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/core/management/init.py", line 338, in execute_from_command_line utility.execute() File "/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/core/management/init.py", line 312, in execute django.setup() File "/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/init.py", line 18, in setup apps.populate(settings.INSTALLED_APPS) File "/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/apps/registry.py", line 108, in populate app_config.import_models(all_models) File "/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/apps/config.py", line 198, in import_models self.models_module = import_module(models_module_name) File "/usr/lib/python2.7/importlib/init.py", line 37, in import_module import(name) File "/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/contrib/auth/models.py", line 41, in class Permission(models.Model): File "/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/db/models/base.py", line 139, in newnew_class.add_to_class('_meta', Options(meta, **kwargs)) File "/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/db/models/base.py", line 324, in add_to_class value.contribute_to_class(cls, name) File "/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/db/models/options.py", line 250, in contribute_to_class self.db_table = truncate_name(self.db_table, connection.ops.max_name_length()) File "/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/db/init.py", line 36, in getattrreturn getattr(connections[DEFAULT_DB_ALIAS], item) File "/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/db/utils.py", line 240, in getitembackend = load_backend(db['ENGINE']) File "/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/db/utils.py", line 111, in load_backend return import_module('%s.base' % backend_name) File "/usr/lib/python2.7/importlib/init.py", line 37, in import_module import(name) File "/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/db/backends/mysql/base.py", line 27, in raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
(Aaronpythonenv)aaron@aaron-N550JK:~/mysite$ python manage.py makemigrations polls 回溯(最近一次调用):文件“manage.py”,第 10 行,在 execute_from_command_line(sys.argv) 文件“/home/aaron /Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/core/management/初始化的.py “线路338,在execute_from_command_line utility.execute()文件”/家/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/core/management/ INITpy “为,线312,在执行django.setup()文件” /home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/ INIT.py”,第 18 行,在设置 apps.populate(settings.INSTALLED_APPS) 文件“/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/ apps/registry.py”,第 108 行,在填充 app_config.import_models(all_models) 文件“/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django /apps/config.py”,线路198,在import_models self.models_module = import_module(models_module_name)文件“/usr/lib/python2.7/importlib/ INITpy”为37行,在import_module 进口(名称)文件“/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/contrib/auth/models.py”,第41行,在课堂上权限(models.Model):文件“/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/db/models/base.py”,行139,在新new_class.add_to_class('_meta', Options(meta, **kwargs)) 文件“/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/ db/models/base.py”,第 324 行,在 add_to_class value.contribute_to_class(cls, name) 文件“/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7 .egg/django/db/models/options.py”,第 250 行,在contribute_to_class self.db_table = truncate_name(self.db_table, connection.ops.max_name_length()) 文件“/home/aaron/Aaronpythonenv/local/lib/ python2.7/site-packages/Django-1.8-py2.7.egg/django/db/ init.py”,第 36 行,在getattr 中返回 getattr(connections[DEFAULT_DB_ALIAS], item) 文件“/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/db/utils.py”,第 240 行,在getitembackend = load_backend(db['ENGINE']) 文件“/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/db /utils.py”,线111,在返回load_backend import_module( '%s.base' %backend_name)文件“/usr/lib/python2.7/importlib/ INITpy”为37行,在import_module 进口(名称)文件“/home/aaron/Aaronpythonenv/local/lib/python2.7/site-packages/Django-1.8-py2.7.egg/django/db/backends/mysql/base.py”,第27行,在 raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
I have used PIP to install mysql-python to my environment which I recieved another error. I then used sudo apt-get command to install correct the error PIP brought up.
我已经使用 PIP 将 mysql-python 安装到我的环境中,但我收到了另一个错误。然后我使用 sudo apt-get 命令来安装纠正 PIP 带来的错误。
massive thank you in advance please let me know if I need to add anything else.
非常感谢您,如果我需要添加任何其他内容,请告诉我。
回答by sid1408
I faced somewhat similar problem. Try these steps:
我遇到了一些类似的问题。尝试以下步骤:
1). Upgrade pip
to the latest version.
1)。升级pip
到最新版本。
sudo pip install pip --upgrade
2). Build the dependencies for python-mysqldb libraries:
2)。为 python-mysqldb 库构建依赖项:
sudo apt-get build-dep python-mysqldb
3). Install the Python MySQL libraries:
3)。安装 Python MySQL 库:
sudo pip install MySQL-python
回答by PaulGibson
I think it means there is no module named mysqldb. You just need to setup the mysqldb module. For example if you use the ubuntu, you just need to run this command:
我认为这意味着没有名为 mysqldb 的模块。您只需要设置 mysqldb 模块。例如如果你使用 ubuntu,你只需要运行这个命令:
sudo apt-get install python-mysqldb
and then you problem will be fixed!
然后你的问题就会得到解决!