I'm kinda knew so I don't know how to find solutions to this sort of errors. Was trying to make a connection to a local database.
from sqlalchemy import create_engine
rds_connection_string = "postgres:password@localhost:5432/ETL_DATABASES"
engine = create_engine(f'postgresql://{rds_connection_string}')
and got:
--------------------------------------------------------------------------- ImportError Traceback (most recent call last) <ipython-input-12-db09b1b74d73> in <module>
1 rds_connection_string = "postgres:password@localhost:5432/ETL_DATABASES"
----> 2 engine = create_engine(f'postgresql://{rds_connection_string}')
/opt/anaconda3/lib/python3.8/site-packages/sqlalchemy/engine/__init__.py in create_engine(*args, **kwargs)
498 strategy = kwargs.pop("strategy", default_strategy)
499 strategy = strategies.strategies[strategy]
--> 500 return strategy.create(*args, **kwargs)
501
502
/opt/anaconda3/lib/python3.8/site-packages/sqlalchemy/engine/strategies.py in create(self, name_or_url, **kwargs)
85 if k in kwargs:
86 dbapi_args[k] = pop_kwarg(k)
---> 87 dbapi = dialect_cls.dbapi(**dbapi_args)
88
89 dialect_args["dbapi"] = dbapi
/opt/anaconda3/lib/python3.8/site-packages/sqlalchemy/dialects/postgresql/psycopg2.py in dbapi(cls)
776 @classmethod
777 def dbapi(cls):
--> 778 import psycopg2
779
780 return psycopg2
/opt/anaconda3/lib/python3.8/site-packages/psycopg2/__init__.py in <module>
49 # Import the DBAPI-2.0 stuff into top-level module.
50
---> 51 from psycopg2._psycopg import ( # noqa
52 BINARY, NUMBER, STRING, DATETIME, ROWID,
53
ImportError: dlopen(/opt/anaconda3/lib/python3.8/site-packages/psycopg2/_psycopg.cpython-38-darwin.so, 2): Symbol not found: _PQencryptPasswordConn
Referenced from: /opt/anaconda3/lib/python3.8/site-packages/psycopg2/_psycopg.cpython-38-darwin.so
Expected in: /usr/lib/libpq.5.6.dylib in /opt/anaconda3/lib/python3.8/site-packages/psycopg2/_psycopg.cpython-38-darwin.so
I'm in a jupyter notebook and using pg Admin 4 for the sql part