"No module named 'pysqlite2'" Error

7,281

I found the main problem! When I was installing virtualenv I didn't use root, so some files were missing.

When setting up your virtualenv, start a root shell

sudo -i

then you can run this command:

pip install virtualenv

By doing so, you can run Python3.4 and Django1.7 at the same time!

Alternatively, in my case:

Virtualenv was set by python3.4, and I think it's not synchronized with other versions.

I set virtualenv to use python2.7:

$ which python
/usr/bin/python
$ virtualenv -p /usr/bin/python

and this time, everything was OK.

Share:
7,281

Related videos on Youtube

Alireza Ghaffari
Author by

Alireza Ghaffari

Everything you're expecting!

Updated on September 18, 2022

Comments

  • Alireza Ghaffari
    Alireza Ghaffari over 1 year

    I am trying to run a server, but I get this error:

    $ python manage.py runserver
    Traceback (most recent call last):
      File "/home/user/Demo/lib/python3.4/site-packages/django/db/backends/sqlite3/base.py", line 33, 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 "/home/user/Demo/lib/python3.4/site-packages/django/db/backends/sqlite3/base.py", line 35, 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 27, 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 "/home/user/Demo/lib/python3.4/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
        utility.execute()
      File "/home/user/Demo/lib/python3.4/site-packages/django/core/management/__init__.py", line 354, in execute
        django.setup()
      File "/home/user/Demo/lib/python3.4/site-packages/django/__init__.py", line 21, in setup
        apps.populate(settings.INSTALLED_APPS)
      File "/home/user/Demo/lib/python3.4/site-packages/django/apps/registry.py", line 108, in populate
        app_config.import_models(all_models)
      File "/home/user/Demo/lib/python3.4/site-packages/django/apps/config.py", line 202, in import_models
        self.models_module = import_module(models_module_name)
      File "/home/user/Demo/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 "/home/user/Demo/lib/python3.4/site-packages/django/contrib/auth/models.py", line 40, in <module>
        class Permission(models.Model):
      File "/home/user/Demo/lib/python3.4/site-packages/django/db/models/base.py", line 122, in __new__
        new_class.add_to_class('_meta', Options(meta, **kwargs))
      File "/home/user/Demo/lib/python3.4/site-packages/django/db/models/base.py", line 297, in add_to_class
        value.contribute_to_class(cls, name)
      File "/home/user/Demo/lib/python3.4/site-packages/django/db/models/options.py", line 166, in contribute_to_class
        self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
      File "/home/user/Demo/lib/python3.4/site-packages/django/db/__init__.py", line 40, in __getattr__
        return getattr(connections[DEFAULT_DB_ALIAS], item)
      File "/home/user/Demo/lib/python3.4/site-packages/django/db/utils.py", line 242, in __getitem__
        backend = load_backend(db['ENGINE'])
      File "/home/user/Demo/lib/python3.4/site-packages/django/db/utils.py", line 108, in load_backend
        return import_module('%s.base' % backend_name)
      File "/home/user/Demo/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 "/home/user/Demo/lib/python3.4/site-packages/django/db/backends/sqlite3/base.py", line 38, 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'
    

    and when I try to install Sqlite:

    $ pip install sqlightCollecting sqlight
      Could not find any downloads that satisfy the requirement sqlight
      No distributions at all found for sqlight
    

    What should I do?

    • Jos
      Jos over 9 years
      Have you installed SQLite3? sudo apt-get install sqlite3
    • Sylvain Pineau
      Sylvain Pineau over 9 years
      Try the solutions proposed in this SO question: stackoverflow.com/questions/1210664/no-module-named-sqlite3
    • Alireza Ghaffari
      Alireza Ghaffari over 9 years
      @jos Yes it was installed: but now I am giving that error as well.
    • Alireza Ghaffari
      Alireza Ghaffari over 9 years
      @SylvainPineau I've installed libsqlite3-dev as well
    • Alireza Ghaffari
      Alireza Ghaffari over 9 years
      _sqlite3.so doesn't exist! in /usr/local -name _sqlite3.so
    • Jos
      Jos over 9 years
      SQLight? Did you mean SQLite?
    • Alireza Ghaffari
      Alireza Ghaffari over 9 years
      I found its problems eventually!!! the below solution in the answer section.