0

My problem is following, I'm starting with tutorial https://docs.djangoproject.com/en/1.8/intro/tutorial01/ , and after I type in terminal python manage.py runserver I'm getting an error:

Traceback (most recent call last):
  File "/usr/local/lib/python3.4/site-packages/django/db/backends/sqlite3/base.py", line 31, in <module>
    from pysqlite2 import dbapi2 as Database
ImportError: No module named 'pysqlite2'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.4/site-packages/django/db/backends/sqlite3/base.py", line 33, in <module>
    from sqlite3 import dbapi2 as Database
  File "/usr/local/lib/python3.4/sqlite3/__init__.py", line 23, in <module>
    from sqlite3.dbapi2 import *
  File "/usr/local/lib/python3.4/sqlite3/dbapi2.py", line 26, in <module>
    from _sqlite3 import *
ImportError: No module named '_sqlite3'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.4/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.4/site-packages/django/core/management/__init__.py", line 312, in execute
    django.setup()
  File "/usr/local/lib/python3.4/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/usr/local/lib/python3.4/site-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models(all_models)
  File "/usr/local/lib/python3.4/site-packages/django/apps/config.py", line 198, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/local/lib/python3.4/importlib/__init__.py", line 109, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1129, in _exec
  File "<frozen importlib._bootstrap>", line 1471, in exec_module
  File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
  File "/usr/local/lib/python3.4/site-packages/django/contrib/auth/models.py", line 41, in <module>
    class Permission(models.Model):
  File "/usr/local/lib/python3.4/site-packages/django/db/models/base.py", line 139, in __new__
    new_class.add_to_class('_meta', Options(meta, **kwargs))
  File "/usr/local/lib/python3.4/site-packages/django/db/models/base.py", line 324, in add_to_class
    value.contribute_to_class(cls, name)
  File "/usr/local/lib/python3.4/site-packages/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 "/usr/local/lib/python3.4/site-packages/django/db/__init__.py", line 36, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "/usr/local/lib/python3.4/site-packages/django/db/utils.py", line 240, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "/usr/local/lib/python3.4/site-packages/django/db/utils.py", line 111, in load_backend
    return import_module('%s.base' % backend_name)
  File "/usr/local/lib/python3.4/importlib/__init__.py", line 109, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1129, in _exec
  File "<frozen importlib._bootstrap>", line 1471, in exec_module
  File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
  File "/usr/local/lib/python3.4/site-packages/django/db/backends/sqlite3/base.py", line 36, in <module>
    raise ImproperlyConfigured("Error loading either pysqlite2 or sqlite3 modules (tried in that order): %s" % exc)
django.core.exceptions.ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named '_sqlite3'

Do you know how to fix this issue? I've seen posts on stackoverflow but it doesn't help me.

4
  • It looks like you compiled Python yourself based on the path. You probably forgot to install sqlite development files before compilation or missed some flags to make sure sqlite modules are comiled and included. Check the compilation docs for Python to see what you did wrong.
    – Timo
    Jun 3, 2015 at 12:01
  • @Timo I've fixed this issue by typing 'sudo python manage.py runserver' instead of 'python manage.py runserver'. Would you explain me why? I don't get it Jun 3, 2015 at 13:53
  • meta.askubuntu.com/questions/14089/…
    – Tim
    Jun 30, 2015 at 11:41
  • I my case it happened on Ubuntu 18.04 python version 3.7.3 and pyenv. I installed system requirements pyenv wiki and tried to use previous advises 'sudo apt-get install python-sqlite' But nothing did not helped me except switching to previous version of python 3.6.8
    – akpp
    Sep 3, 2019 at 21:14

2 Answers 2

1

Solved in comments by OP:

I've fixed this issue by running sudo python manage.py runserver instead of python manage.py runserver.

1
  • ohh this is horrible. sudo is the main calprit
    – Amir
    Apr 22, 2016 at 10:08
0

Run python interpreter and check in modules that do you have sqlite3 module installed or not.If not install it by running.

sudo apt-get install python-sqlite

Now run your django project

Or do as given in this link "No module named 'pysqlite2'" Error

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .