Django postgres psycopg2: ImproperlyConfigure, даже если модуль установлен

Я впервые использую Django, но ранее использовал PostgreSQL. Я пытаюсь следовать официальному руководству по Django для установки базы данных. Я выполнил все, но при использовании команды "python manage.py migrate" я получаю ошибку, что psycopg2 не найден, хотя он у меня есть

Я использую настройки, указанные в учебнике Django:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'DatabaseName',
        'USER': 'UserName',
        'PASSWORD': 'Userpassword',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}

Я подтвердил, что у меня установлены необходимые пакеты и находятся в том же месте :

pip freeze:

Django==4.1.3
psycopg2==2.9.5
psycopg2-binary==2.9.5

pip show Django/psycopg2/psycopg2-binary:

Django : Location: /opt/homebrew/lib/python3.10/site-packages
Psycopg2: Location: /opt/homebrew/lib/python3.10/site-packages
psycopg2-binary: Location: /opt/homebrew/lib/python3.10/site-packages

Похоже, что вы используете системный python для запуска миграций. Трассировка ошибки содержит следующий путь к двоичному файлу python: "/Users/alexanderverheecke/Library/Python/3.9/...", однако в команде pip show ваш путь к python - "/opt/homebrew/lib/python3.10/".

Вообще-то я не понимаю, как это вообще возможно, потому что первый выглядит как путь Windows, а второй - как Linux...

В любом случае. Попробуйте что-нибудь из этого и запустите команду migrate снова:

  • активируйте/деактивируйте виртуальную среду, если вы ее используете
  • смените вашу ОС на правильную
  • снова запустите pip install

Команда Make shure which python (для Linux), gcm python (для Windows) возвращает тот же путь к python, что и pip show.

Вернуться на верх