postgresql - 找不到符号 : _PQbackendPID with Django project

标签 postgresql django-models pg

在 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 无济于事。

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

最佳答案

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

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

克隆你希望在 venv 中运行的任何 repo,保持其原始 settings.py。然后:

source venv/bin/activate

要激活新环境,请cd 进入您的新存储库,然后python manage.py runserver。应该设置。

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

关于postgresql - 找不到符号 : _PQbackendPID with Django project,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11065990/

相关文章:

postgresql - AWS ELB 的 Postgres SSL 终止

python - Django:按日期范围过滤对象

Django 删除错误信息

ruby - Gemfile 中的 Gem 安装配置

django - 在 PostgreSQL(PostGIS) 中优化 ST_Intersects

sql - 是否可以跳过 CASE WHEN postgres 中的列

postgresql - 如何按 A a-Z z- 符号排序

python - 更改 Django 管理员 list_display 中的可点击字段

ruby - 如何通过 Ruby 的 pg gem(Rails 之外)连接到 Postgres 数据库

ruby - 在 ruby​​ 项目构建期间尝试安装 pg gem 失败