Python 没有南方数据库模块';south.db.postgresql_psycopg2';为您的数据库

Python 没有南方数据库模块';south.db.postgresql_psycopg2';为您的数据库,python,django,django-south,Python,Django,Django South,我刚到django,我从南方得到了这个错误,但我不知道我错过了什么。我在寻找答案,但什么也找不到 There is no South database module 'south.db.postgresql_psycopg2' for your database. Please either choose a supported database, check for SOUTH_DATABASE_ADAPTER[S] settings, or remove South from INSTALL

我刚到django,我从南方得到了这个错误,但我不知道我错过了什么。我在寻找答案,但什么也找不到

There is no South database module 'south.db.postgresql_psycopg2' for your database. Please either choose a supported database, check for SOUTH_DATABASE_ADAPTER[S] settings, or remove South from INSTALLED_APPS.
这是我的基本设置:

from unipath import Path

BASE_DIR = Path(__file__).ancestor(3)


SECRET_KEY = 'pp@iz7%bc7%+*11%usf7o@_e&)r2o&^3%zjse)n=6b&w^hem96'

DJANGO_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

)

THIRD_PARTY_APPS = (
    'south',

)

LOCAL_APPS = (


)


INSTALLED_APPS = DJANGO_APPS + THIRD_PARTY_APPS + LOCAL_APPS


MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'django.middleware.security.SecurityMiddleware',
)

ROOT_URLCONF = 'misite.urls'

WSGI_APPLICATION = 'misite.wsgi.application'

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True
from .base import *

TEMPLATE_DEBUG = True



ALLOWED_HOSTS = []

DEBUG = True

DEFAULT_FROM_EMAIL = 'webmaster@example.com'





# ----------------------------
    # POSTGRESQL

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

SOUTH_DATABASE_ADAPTERS = {
     'default': "south.db.postgresql_psycopg2"
 }

STATIC_URL = '/static/'
本地\u设置:

from unipath import Path

BASE_DIR = Path(__file__).ancestor(3)


SECRET_KEY = 'pp@iz7%bc7%+*11%usf7o@_e&)r2o&^3%zjse)n=6b&w^hem96'

DJANGO_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

)

THIRD_PARTY_APPS = (
    'south',

)

LOCAL_APPS = (


)


INSTALLED_APPS = DJANGO_APPS + THIRD_PARTY_APPS + LOCAL_APPS


MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'django.middleware.security.SecurityMiddleware',
)

ROOT_URLCONF = 'misite.urls'

WSGI_APPLICATION = 'misite.wsgi.application'

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True
from .base import *

TEMPLATE_DEBUG = True



ALLOWED_HOSTS = []

DEBUG = True

DEFAULT_FROM_EMAIL = 'webmaster@example.com'





# ----------------------------
    # POSTGRESQL

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

SOUTH_DATABASE_ADAPTERS = {
     'default': "south.db.postgresql_psycopg2"
 }

STATIC_URL = '/static/'

有人能帮我吗??非常感谢。

这发生在我身上,当时我使用
pip
升级了各种模块,其中一个依赖项自动将Django升级到当前版本(1.8)。您可以只检查当前的Django版本(
pip freeze
),如果是1.8,只需降级到1.6行(
pip install-U“Django),但关键是如何解决保持Django 1.8(最新版本)不变的问题。我不认为降级到1.6是一个好主意,因为django 1.6不再是一个安全版本。

尝试
pip uninstall South
,然后您将看到您的应用程序是否准备好了1.8。

请注意,现在生命结束了,支持​Django 1.7中的新迁移框架基于South,但在设计上有重大改进

有关Django迁移框架的更多详细信息,请参阅发行说明-


South不支持Django 1.7;它只支持版本1.4、1.5和1.6。

使用Django 2.2.4,我意识到“South”被包括在我的一个第三方安装的应用程序(socket_server)中。但不是在模块中,而是在迁移策略中(可能创建模块的人仍在使用Django的旧版本)。因此,将名称从0001_inical.py更改为0001_inical_old,django无法找到它并生成另一个。
作为半边测量(插座应在不安装的情况下安装)

你为什么还要使用South?Django现在已经是自内置迁移引入以来的第二个版本了。因为他有一个1.6版的应用程序,移植到1.7要花很多时间?
pip install-U Django==1.7
这将完全安装1.7版,我想要1.6行中的最新版本,因此
Django将安装包和sp带有引号的ecifier,因此<不会被shell解释:
pip安装“Django这就像是治标不治本。看看Papa Sax的答案。效果很好。我在Django 1.7.1上,pip在更新Django_表2时决定带上1.8,South从所有设置中完全移除。我在迁移到1.7时已经清除了所有的南方迁移。我仍然在继续manage.py runserver.pip uninstall South上的混乱局面挽救了这一天!这应该是正确的答案。强制降级到1.6一点也不合适。除非您有其他理由继续使用1.6。非常有趣:只是安装了South(即使禁用了South应用程序)是什么导致我升级到Django 1.8时出现这个问题的。这应该是公认的答案。我在运行测试时遇到了这个问题。South不会与Django 1.7一起工作;它只支持版本1.4、1.5和1.6。在这种情况下,为什么Ubuntu 16.04在唯一可用的Django版本时有一个
python Django South
包是1.8吗?