[Django] psycopg2 패키지 에러_ Symbol not found: _PQbackendPID
[Django] psycopg2 설치 에러_ Symbol not found: _PQbackendPID
Traceback (most recent call last):
File "/Users/dan/.local/share/virtualenvs/in-tellinc.com.au-umO7OOcD/lib/python3.9/site-packages/django/db/backends/postgresql/base.py", line 20, in<module>import psycopg2 as Database
File "/opt/homebrew/lib/python3.9/site-packages/psycopg2/__init__.py", line 51, in<module>from psycopg2._psycopg import (
#noqaImportError: dlopen(/opt/homebrew/lib/python3.9/site-packages/psycopg2/_psycopg.cpython-39-darwin.so, 2): Symbol not found: _PQbackendPID
Referenced from: /opt/homebrew/lib/python3.9/site-packages/psycopg2/_psycopg.cpython-39-darwin.so
Expected in: flat namespace
in/opt/homebrew/lib/python3.9/site-packages/psycopg2/_psycopg.cpython-39-darwin.so
■ 개발환경
Mac mini (M1, 2020) 11.3 버전
Python 3.9
Django 3.1.3
파이썬 버전문제나 장고버전 문제일거라고 생각했지만, 버전 별로 패키지를 설치해봐도 되지않았다...
M1에서 많은 문제가 일어나고 있기때문에 m1 호환 문제일수도,,,
■ 해결방법
# 기존에 설치된 psycopg2 패키지 삭제
pip uninstall psycopg2
# psycopg2-binary 패키지로 설치한다.
pip install psycopg2-binary
psycopg2-binary 패키지로 설치했더니 정상작동된다.
이 패키지 말고도, m1에서 문제되서 'binary'로 재설치한 패키지가 꽤 있다,,
mysqlclient 패키지도 간혹 binary로 설치해야만 되는 경우가 있다