在 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/