Fehler war: Kein Modul namens postgresql.base

Ich versuche, eine Django App zu postgresql zu migrieren, aber ich habe Schwierigkeiten, Django zu erkennen, dass Postgres tatsächlich installiert ist. Ich habe es auf meinem Rechner installiert, und es läuft auf meinem Computer gut, aber wenn ich versuche, es als Standard in meine settings.py , ich bekomme die Fehler:

Fehler war: Kein Modul namens postgresql.base

Ich habe durch zwei Komplettlösungen gegangen, indem du mit dem Django hier und hier gehst, aber ich fahre fort, diesen Fehler zu bekommen. Soll ich eine Installation von postgresql in meiner virtuellen Umgebung haben? Ich habe versucht, das zu tun, aber kein Glück.

settings.py

 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'pygamers', 'USER': 'myusername', 'PASSWORD': '', 'HOST': 'localhost', 'PORT': '5432', } } 

Der volle Rückblick

 Unhandled exception in thread started by <function wrapper at 0x10ab64410> Traceback (most recent call last): File "/Users/tomeldridge/Desktop/Misc/Hobbies/Programming/Projects/Pygamers/venv/lib/python2.7/site-packages/django/utils/autoreload.py", line 226, in wrapper fn(*args, **kwargs) File "/Users/tomeldridge/Desktop/Misc/Hobbies/Programming/Projects/Pygamers/venv/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 109, in inner_run autoreload.raise_last_exception() File "/Users/tomeldridge/Desktop/Misc/Hobbies/Programming/Projects/Pygamers/venv/lib/python2.7/site-packages/django/utils/autoreload.py", line 249, in raise_last_exception six.reraise(*_exception) File "/Users/tomeldridge/Desktop/Misc/Hobbies/Programming/Projects/Pygamers/venv/lib/python2.7/site-packages/django/utils/autoreload.py", line 226, in wrapper fn(*args, **kwargs) File "/Users/tomeldridge/Desktop/Misc/Hobbies/Programming/Projects/Pygamers/venv/lib/python2.7/site-packages/django/__init__.py", line 18, in setup apps.populate(settings.INSTALLED_APPS) File "/Users/tomeldridge/Desktop/Misc/Hobbies/Programming/Projects/Pygamers/venv/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate app_config.import_models(all_models) File "/Users/tomeldridge/Desktop/Misc/Hobbies/Programming/Projects/Pygamers/venv/lib/python2.7/site-packages/django/apps/config.py", line 202, in import_models self.models_module = import_module(models_module_name) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module __import__(name) File "/Users/tomeldridge/Desktop/Misc/Hobbies/Programming/Projects/Pygamers/userprofile/models.py", line 2, in <module> from django.contrib.auth.models import User File "/Users/tomeldridge/Desktop/Misc/Hobbies/Programming/Projects/Pygamers/venv/lib/python2.7/site-packages/django/contrib/auth/models.py", line 4, in <module> from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager File "/Users/tomeldridge/Desktop/Misc/Hobbies/Programming/Projects/Pygamers/venv/lib/python2.7/site-packages/django/contrib/auth/base_user.py", line 49, in <module> class AbstractBaseUser(models.Model): File "/Users/tomeldridge/Desktop/Misc/Hobbies/Programming/Projects/Pygamers/venv/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 "/Users/tomeldridge/Desktop/Misc/Hobbies/Programming/Projects/Pygamers/venv/lib/python2.7/site-packages/django/db/models/base.py", line 299, in add_to_class value.contribute_to_class(cls, name) File "/Users/tomeldridge/Desktop/Misc/Hobbies/Programming/Projects/Pygamers/venv/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 "/Users/tomeldridge/Desktop/Misc/Hobbies/Programming/Projects/Pygamers/venv/lib/python2.7/site-packages/django/db/__init__.py", line 36, in __getattr__ return getattr(connections[DEFAULT_DB_ALIAS], item) File "/Users/tomeldridge/Desktop/Misc/Hobbies/Programming/Projects/Pygamers/venv/lib/python2.7/site-packages/django/db/utils.py", line 212, in __getitem__ backend = load_backend(db['ENGINE']) File "/Users/tomeldridge/Desktop/Misc/Hobbies/Programming/Projects/Pygamers/venv/lib/python2.7/site-packages/django/db/utils.py", line 135, in load_backend raise ImproperlyConfigured(error_msg) django.core.exceptions.ImproperlyConfigured: 'django.db.backends.postgresql' isn't an available database backend. Try using 'django.db.backends.XXX', where XXX is one of: 'mysql', 'oracle', 'sqlite3' Error was: No module named postgresql.base 

One Solution collect form web for “Fehler war: Kein Modul namens postgresql.base”

So bekam ich fast identische Stack-Trace wie oben. Also lief ich die unten:

 pip install psycopg2 

Danach wurde die Stack-Trace geändert

 django.core.exceptions.ImproperlyConfigured: 'django.db.backends.postgresql' isn't an available database backend. Try using 'django.db.backends.XXX', where XXX is one of: u'base', u'mysql', u'oracle', u'postgresql_psycopg2', u'sqlite3' Error was: No module named postgresql.base 

Dann öffnete ich meine settings.py-Datei und änderte das Datenbank-Backend, wie in der Stack-Trace oben vorgeschlagen vorgeschlagen

 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'database', 'USER': 'username', 'PASSWORD': 'password', 'HOST': '127.0.0.1', 'PORT': '5432', } } 

nach

 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'database', 'USER': 'username', 'PASSWORD': 'password', 'HOST': '127.0.0.1', 'PORT': '5432', } } 

Und die App schaffte es zu verbinden! Haben Sie die Info von How to Setup PostgreSQL Datenbank in Django?

  • SQLAlchemy: Jede Einschränkung, eine der beiden Spalten zu überprüfen, ist nicht null?
  • Vermeidung von duplizierten Daten in der PostgreSQL-Datenbank in Python
  • Geo Django Mac OS X
  • Django python - Beziehung existiert nicht
  • Streaming von Postgres in Python
  • TypeError: 'int' Objekt unterstützt keine Indexierung
  • Wie lösche ich die Zitate aus einer Zeichenfolge für SQL-Abfrage in Python?
  • Änderungsdatenbank (postgresql) in python mit psycopg2 dynamisch
  • Erstellen Sie eine Abfrage, um ein herausforderndes Django-Quaryset zu erstellen
  • Das Öffnen einer Postgres-Verbindung in psycopg2 verursacht Python zum Absturz
  • Django-Reverse-Abfrage durch das zuletzt erstellte Objekt
  • Python ist die beste Programmiersprache der Welt.