【问题标题】:ImportError: symbol __res_maybe_init version GLIBC_PRIVATE not defined in file libc.so.6 with link time referenceImportError:符号 __res_maybe_init 版本 GLIBC_PRIVATE 未在带有链接时间参考的文件 libc.so.6 中定义
【发布时间】:2020-02-25 00:04:56
【问题描述】:

我正在运行一个安装脚本,它安装了许多不同的 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 开发服务器而不会出现上述错误?

【问题讨论】:

标签: python django python-import psycopg2


【解决方案1】:

我过去曾遇到过这种情况。 我所做的是将 pip 中的 psycopg2 版本(不确定您的脚本用于版本控制包)修改为 2.7 我还验证了它可以很好地与 2.5.9 配合使用

官方没有向后兼容修复https://github.com/psycopg/psycopg2/issues/594#issuecomment-331172198

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-13
      • 2020-08-01
      • 2022-11-09
      • 2018-03-10
      • 1970-01-01
      • 2019-12-23
      • 2018-07-24
      相关资源
      最近更新 更多