Reputation: 23
I got an error when I tried to do runserver Django manager.py on AWS.
* I watched tutorial https://www.youtube.com/watch?v=bRnm8f6Wavk
When I run sudo python2.7 manage.py runserver
, I get the following error message:
[ec2-user@ip- *** FirstBlog]$ python manage.py runserver
Unhandled exception in thread started by <function wrapper at 0x7fd788c07398>
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 109, in inner_run
autoreload.raise_last_exception()
File "/usr/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 249, in raise_last_exception
six.reraise(*_exception)
File "/usr/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/usr/local/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
app_config.import_models(all_models)
File "/usr/local/lib/python2.7/site-packages/django/apps/config.py", line 202, in import_models
self.models_module = import_module(models_module_name)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/usr/local/lib/python2.7/site-packages/django/contrib/auth/models.py", line 4, in <module>
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
File "/usr/local/lib/python2.7/site-packages/django/contrib/auth/base_user.py", line 49, in <module>
class AbstractBaseUser(models.Model):
File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 108, in __new__
new_class.add_to_class('_meta', Options(meta, app_label))
File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 299, in add_to_class
value.contribute_to_class(cls, name)
File "/usr/local/lib/python2.7/site-packages/django/db/models/options.py", line 263, in contribute_to_class
self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
File "/usr/local/lib/python2.7/site-packages/django/db/__init__.py", line 36, in __getattr__
return getattr(connections[DEFAULT_DB_ALIAS], item)
File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 212, in __getitem__
backend = load_backend(db['ENGINE'])
File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 116, in load_backend
return import_module('%s.base' % backend_name)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/usr/local/lib/python2.7/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
Can anyone recognise what is the problem?
Or is there any solution for it?
I'm stuck because I don't know how to find out what the problem is; I already installed mysql-python
and all I did was change the connection details in settings.py
.
Upvotes: 0
Views: 243
Reputation: 117
Leo is right
Python does not come pre-installed with MySQL drivers so you will need to istall MySQL Drivers but like Leo said that will be easy
sudo pip install pip --upgrade
sudo pip install MySQL-python
Then the next step for will be to Install Imaging Drivers
sudo pip install python-dev
and
sudo pip install python-imaging
If you do not have pip installed run
sudo apt-get install pip
And once you done you will need to change ownership of you django dir - So that apache can read it
Upvotes: 0
Reputation: 967
Try these steps:
1). Upgrade pip
to the latest version.
sudo pip install pip --upgrade
2). Build the dependencies for python-mysqldb libraries:
sudo apt-get build-dep python-mysqldb
3). Install the Python MySQL libraries:
sudo pip install MySQL-python
Upvotes: 4
Reputation: 21
Seem you need to import MySQLdb module
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
Upvotes: 2