在MAC os 10.6.8上运行
安装了postgresSQL,以及django-使用python2.7
在我的虚拟环境中还使用pip安装了psycopg2和dj数据库url
并将这两行添加到my 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,保留其原始设置.py。然后:
source venv/bin/activate
要激活新环境,
cd
进入新的回购协议,然后python manage.py runserver
。应该设置。或者,您可以重新制作PostGreSQL,然后再次运行,但这只是一个任务-它对psycopg2有效。据我所知,这个问题来自于使用64或i386构建,而您应该使用32构建-但我对此并不确定,而且上面的解决方案很好地解决了这个问题,并且很有可能将venv用于您实际使用它的目的。
关于postgresql - 找不到符号:带有Django项目的_PQbackendPID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11065990/