ImportError:在文件libc.so.6中未定义符号__res_maybe_init版本GLIBC_PRIVATE,带有链接时间参考

时间:2019-10-29 17:32:15

标签: python django python-import psycopg2

我正在运行一个安装脚本,该脚本安装了许多不同的python软件包。卡住的是psycopg2。该脚本尝试安装版本2.6.1。但是我遇到了错误:

Error: could not determine PostgreSQL version from '10.10'

我认为这与psycopg2版本postgresql不兼容的10.10版本有关。这是无效的结论吗?

假设我对版本不兼容的结论是正确的,我将psycopg2的安装版本更改为2.7。这样,上面的错误就消失了。

但是,当我跑步时:

python manage.py runserver 0.0.0.0:888

我得到了错误:

  File "/home/mark/.virtualenvs/nova/lib/python3.6/site-packages/django/contrib/postgres/apps.py", line 7, in <module>
    from .signals import register_hstore_handler
  File "/home/mark/.virtualenvs/nova/lib/python3.6/site-packages/django/contrib/postgres/signals.py", line 1, in <module>
    from psycopg2 import ProgrammingError
  File "/home/mark/.virtualenvs/nova/lib/python3.6/site-packages/psycopg2/__init__.py", line 50, in <module>
    from psycopg2._psycopg import (                     # noqa
ImportError: /home/mark/.virtualenvs/nova/lib/python3.6/site-packages/psycopg2/.libs/./libresolv-2-c4c53def.5.so: symbol __res_maybe_init version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference

这使我认为,也许版本2.6.1可能是我需要使用的版本,因为它抱怨psycopg2

如何解决该问题,以便我可以运行Django开发服务器而不会出现上述错误?

2 个答案:

答案 0 :(得分:0)

我过去曾经面对过。 我所做的是将pip中的psycopg2版本(不确定脚本用于版本包的版本)修改为2.7 我还验证了它可以与2.5.9一起使用

官方上没有向后兼容性修补程序https://github.com/psycopg/psycopg2/issues/594#issuecomment-331172198

答案 1 :(得分:0)

将 psycopg2 更新到 2.7.3.1/2,这个错误会像这里一样消失 https://stackoverflow.com/a/49292261/1816541