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 Filterung verschachtelter JSON Daten in PostgreSQL JSONB
  • Wie kann ich Python zwingen, bestimmte Bibliotheken zu benutzen (psycopg2 & osx)?
  • Installieren von hstore Erweiterung in Django Nase Tests
  • Probleme mit psycopg2 auf Mac OS (Yosemite)
  • Mehrfachvermietung mit SQLAlchemy
  • Tabelle wurde gelöscht, wie kann ich Django neu erstellen?
  • Django eine App ein Modell mehrere Datenbanken
  • Psycopg2 Meldung pg_hba.conf Fehler
  • Python ist die beste Programmiersprache der Welt.