Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python MacOS Catalina:未找到符号:\u pqsslatAttribute_Python_Postgresql_Macos Catalina - Fatal编程技术网

Python MacOS Catalina:未找到符号:\u pqsslatAttribute

Python MacOS Catalina:未找到符号:\u pqsslatAttribute,python,postgresql,macos-catalina,Python,Postgresql,Macos Catalina,我卸载了旧的PGSQL9并安装了最新的PgSQL12应用程序。当我尝试导入psycopg2时,出现以下错误: >>> import psycopg2 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Users/AdnanAhmad/Data/anaconda3/lib/python3.7/site-packages/psycopg2/__i

我卸载了旧的PGSQL9并安装了最新的PgSQL12应用程序。当我尝试导入psycopg2时,出现以下错误:

>>> import psycopg2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/AdnanAhmad/Data/anaconda3/lib/python3.7/site-packages/psycopg2/__init__.py", line 50, in <module>
    from psycopg2._psycopg import (                     # noqa
ImportError: dlopen(/Users/AdnanAhmad/Data/anaconda3/lib/python3.7/site-packages/psycopg2/_psycopg.cpython-37m-darwin.so, 2): Symbol not found: _PQsslAttribute
  Referenced from: /Users/AdnanAhmad/Data/anaconda3/lib/python3.7/site-packages/psycopg2/_psycopg.cpython-37m-darwin.so
  Expected in: /usr/lib/libpq.5.dylib
 in /Users/AdnanAhmad/Data/anaconda3/lib/python3.7/site-packages/psycopg2/_psycopg.cpython-37m-darwin.so

我收到了相同的错误消息Python3,MacOS 10.14.6,并通过执行以下操作修复了它:

sudo安装_name_工具-更改libpq.5.dylib/Library/PostgreSQL/9.6//lib/libpq.5.dylib/usr/local/lib/python3.7/site-packages/psycopg2/_psycopg.cpython-37m-darwin.so

sudo安装_name_工具-更改libssl.1.1.dylib/Library/PostgreSQL/9.6//lib/libssl.1.1.dylib/usr/local/lib/python3.7/site-packages/psycopg2//u psycopg.cpython-37m-darwin.so

sudo安装工具-change libcrypto.1.1.dylib/Library/PostgreSQL/9.6//lib/libcrypto.1.1.dylib/usr/local/lib/python3.7/site-packages/psycopg2//psycopg.cpython-37m-darwin.so

显然,您需要调整路径名,包括python站点包目录和上面的Postgres.dylib库所在的目录。此外,_psycopg*.so库的名称在您的系统上可能会/可能会有所不同。 没有承诺它会为你解决问题,很明显:
祝你好运

我收到了一个类似的错误,但缺少的符号是_PQencryptPasswordConn。你解决了吗?我也得到了密码控制。在使用答案中描述的install_name_tool方法后,它会将其解析。但是,如果我以后执行pip卸载-r requirements.txt并添加一些新的包依赖项,然后再次执行pip安装-r requirements.txt,我必须重复该过程。在我的例子中,我有/usr/lib/libpq.5.dylib链接到/usr/lib/libpq.5.5.dylib,可能来自旧的pgSQL 9或psycopg2二进制文件……我想知道pscopg2开发者是否可以重构,以便包记住它从pg_配置构建时使用的lib dep的位置?