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
.