连接 Postgresql 和烧瓶的问题

问题描述 投票:0回答:1

当我尝试将我的 flask 应用程序与 postgresql 连接时,我收到以下错误,提示我没有 libpq.5,错误日志如下

回溯(最后一次通话): 文件“/Users/noelsjacob/Desktop/Projects/pgflask/main.py”,第 3 行,位于 应用程序 = 创建应用程序() ^^^^^^^^^^^^ create_app 中的文件“/Users/noelsjacob/Desktop/Projects/pgflask/Mautourco/init.py”,第 10 行 db.init_app(应用程序) 文件“/Users/noelsjacob/.local/share/virtualenvs/pgflask-3P3nCHJ0/lib/python3.11/site-packages/flask_sqlalchemy/extension.py”,第 326 行,在 init_app engines[key] = self._make_engine(key, options, app) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 文件“/Users/noelsjacob/.local/share/virtualenvs/pgflask-3P3nCHJ0/lib/python3.11/site-packages/flask_sqlalchemy/extension.py”,第 614 行,在 _make_engine 返回sa.engine_from_config(选项,前缀=“”) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 文件“/Users/noelsjacob/.local/share/virtualenvs/pgflask-3P3nCHJ0/lib/python3.11/site-packages/sqlalchemy/engine/create.py”,第 804 行,在 engine_from_config 返回创建引擎(网址,**选项) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ create_engine 中的文件“”,第 2 行 文件“/Users/noelsjacob/.local/share/virtualenvs/pgflask-3P3nCHJ0/lib/python3.11/site-packages/sqlalchemy/util/deprecations.py”,第 283 行,警告 return fn(*args, **kwargs) # 类型:ignore[no-any-return] ^^^^^^^^^^^^^^^^^^^^ 文件“/Users/noelsjacob/.local/share/virtualenvs/pgflask-3P3nCHJ0/lib/python3.11/site-packages/sqlalchemy/engine/create.py”,第 601 行,在 create_engine dbapi = dbapi_meth(**dbapi_args) ^^^^^^^^^^^^^^^^^^^^^^^^^ 文件“/Users/noelsjacob/.local/share/virtualenvs/pgflask-3P3nCHJ0/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/psycopg2.py”,第 669 行,在 import_dbapi 导入 psycopg2 文件“/Users/noelsjacob/.local/share/virtualenvs/pgflask-3P3nCHJ0/lib/python3.11/site-packages/psycopg2/init.py”,第 51 行,在 从 psycopg2._psycopg 导入(#noqa 导入错误:dlopen(/Users/noelsjacob/.local/share/virtualenvs/pgflask-3P3nCHJ0/lib/python3.11/site-packages/psycopg2/_psycopg.cpython-311-darwin.so,0x0002):未加载库:' @rpath/libpq.5.dylib' 引用自:'/Users/noelsjacob/.local/share/virtualenvs/pgflask-3P3nCHJ0/lib/python3.11/site-packages/psycopg2/_psycopg.cpython-311-darwin.so' 原因:尝试过:'/opt/homebrew/lib/libpq.5.dylib'(没有这样的文件),'/opt/homebrew/lib/libpq.5.dylib'(没有这样的文件),'/usr/local/ lib/libpq.5.dylib'(没有这样的文件),'/usr/lib/libpq.5.dylib'(没有这样的文件

postgresql flask sqlalchemy postgresql-9.3 pgadmin-4
1个回答
0
投票

libpq.5.dylib
库是PostgreSQL数据库的一部分,需要在您的系统上安装它才能使用
psycopg2
连接到数据库。

首先,确保您的系统上安装了 PostgreSQL。 如果你使用的是 Mac,你可以使用 Homebrew 安装它:

brew install postgresql

如果您的机器上已经安装了 PostgreSQL,可能是

libpq.5.dylib
库不在您系统的库路径中。所以确保
DYLD_LIBRARY_PATH
变量设置:

export DYLD_LIBRARY_PATH="/usr/local/Cellar/postgresql/<version>/lib/postgresql/:$DYLD_LIBRARY_PATH"
© www.soinside.com 2019 - 2024. All rights reserved.