yasu
yasu

Reputation: 23

Django's installation failed on AWS

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

Answers (3)

Nkosikhona Carlos
Nkosikhona Carlos

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

Leo Khoa
Leo Khoa

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

Avatar
Avatar

Reputation: 21

Seem you need to import MySQLdb module

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

Upvotes: 2

Related Questions