ImproperlyConfigured("Ошибка загрузки модуля psycopg2: %s" % e)
В настоящее время на MacOS Monterey работаю с Django 4.0 и Python 3.10.0. После выполнения команды
python3 manage.py runserver
Я получаю эту ошибку
ImproperlyConfigured("Error loading psycopg2 module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: dlopen(/Users/tonyingle/.local/share/virtualenvs/total-weather-backend-nYZrqAi-/lib/python3.10/site-packages/psycopg2/_psycopg.cpython-310-darwin.so, 0x0002): symbol not found in flat namespace '_PQbackendPID'
Я уже установил pyscopg2 и psycog2-binary в оболочке pipenv и вне ее. Самое странное в этом то, что все работало нормально, пока я не понял, что мне нужно настроить файл settings.py, чтобы исправить проблему cors, и тогда все пошло наперекосяк
Возможно, некоторые соответствующие настройки в settings.py
ALLOWED_HOSTS = [
"https://total-weather-backend.herokuapp.com/", "http://127.0.0.1:8000/"]
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'api',
'rest_framework',
'djoser',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
...
]
CORS_ORIGIN_ALLOW_ALL = True
Конечно, я понял это сразу после того, как опубликовал вопрос, но вот что я сделал, что сработало для меня.
brew install postgresql
pip install psycopg2-binary --force-reinstall --no-cache-dir
Apple M1: install psycopg2 package Symbol not found: _PQbackendPID