【问题标题】:Symbol not found: _PQbackendPID with Django project找不到符号:带有 Django 项目的 _PQbackendPID
【发布时间】:2012-06-16 18:26:06
【问题描述】:

在 MAC 操作系统 10.6.8 上运行 安装了 postgresSQL 以及 django - 使用 python2.7 还在我的虚拟环境中使用 pip 安装了 psycopg2 和 dj-database-url 并将这两行添加到我的 setting.py 中:

import dj_database_url
DATABASES = {'default': dj_database_url.config(default='postgres://localhost')}

根据 Heroku 的说明: https://devcenter.heroku.com/articles/django#database_settings 运行时:

python manage.py runserver

我收到此错误:

ImportError: dlopen(/Users.... venv/lib/python2.7/site-packages/psycopg2/_psycopg.so, 2): Symbol not found: _PQbackendPID
Referenced from: /Users.... venv/lib/python2.7/site-packages/psycopg2/_psycopg.so
Expected in: dynamic lookup

我一直在寻找几个小时并尝试了各种方法,包括以下建议: Mac OS X Lion Psycopg2: Symbol not found: _PQbackendPID 无济于事。

想知道是否有人遇到过这样的问题并且运气好。

【问题讨论】:

  • 你有没有让这个工作?我现在有同样的问题......我认为这可能与使用 PostGresApp 与实际完全安装 postgres 有关?

标签: postgresql django-models pg


【解决方案1】:

我遇到了同样的问题。而不是像 Heroku 建议的那样使用

安装依赖项
pip install Django psycopg2 dj-database-url

克隆您希望在 venv 中运行的任何 repo,保留其原始 settings.py。那么:

source venv/bin/activate

激活新环境,cd 进入你的新仓库,python manage.py runserver。应该设置。

或者,您可以重新制作 PostGreSQL,然后再次运行,但这有点多任务 - 不过它适用于 psycopg2。据我所知,当您应该使用 32 构建时,该问题来自使用 64 或 i386 构建 - 但我不确定这一点,上述解决方案可以很好地解决问题并使用 venv 来满足您的需求'实际上很可能会使用它。

【讨论】:

  • 这与使用 PostGresApp 有什么关系(预构建的 postgres 应用程序在没有实际安装 PostGres 的情况下运行?)
【解决方案2】:

我和你们有同样的问题,我已经阅读了很多页,但我无法在其中找到答案。许多解决方案是关于从源文件安装,与虚拟环境无关。 我已经找到并测试了以下解决方案,它解决了我的问题。

1- 确保您的 Postgres 不高于 9.4 版本 according to psycopg2。还要检查 python 版本。我使用 Postgres 3.9.9。

2- 问题在于不同版本的 Python(32/64 位)。它应该符合您的操作系统的位架构,即 64 位。从系统中卸载所有版本的 Python 和 pip。您可以找到here 的说明,但不要删除 Apple 提供的 Python2.7 系统 Python。

3- 从 python official website 安装“Mac OS X 64-bit/32-bit”安装程序并安装它。 之后安装 pip。请注意,您应该使用命令“python3.5”来使用 Python 3.5 版本。你也可以从新的 pip 安装 virtualenv。

4- 毕竟你可以在你的 virtualenv 上输入“pip3 install -r requirements.txt”来在你的本地机器上安装所有的依赖。

希望这可以帮助你。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-17
    • 2011-10-23
    • 2012-12-09
    • 1970-01-01
    • 2015-10-05
    • 2022-07-20
    • 2018-10-26
    • 2013-03-14
    相关资源
    最近更新 更多