簡體   English   中英

psycopg2找不到符號_PQbackendPID

[英]psycopg2 can't find symbol _PQbackendPID

嘗試開始使用django,由於某種原因,psycopg2找不到我的postgres實例。 這是錯誤消息:

(env)Ryans-MacBook-Pro:crib_db nonzero$ python3 manage.py runserver
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x36f1584>
Traceback (most recent call last):
  File "/Users/nonzero/Programming/Data_Wizard/env/lib/python3.4/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 20, in <module>
import psycopg2 as Database  File "/Users/nonzero/Programming/Data_Wizard/env/lib/python3.4/site-packages/psycopg2/__init__.py", line 50, in <module>
  from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: dlopen(/Users/nonzero/Programming/Data_Wizard/env/lib/python3.4/site-packages/psycopg2/_psycopg.so, 2): Symbol not found: _PQbackendPID
  Referenced from: /Users/nonzero/Programming/Data_Wizard/env/lib/python3.4/site-packages/psycopg2/_psycopg.so
  Expected in: dynamic lookup


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/nonzero/Programming/Data_Wizard/env/lib/python3.4/site-packages/django/utils/autoreload.py", line 229, in wrapper
fn(*args, **kwargs)
  File "/Users/nonzero/Programming/Data_Wizard/env/lib/python3.4/site-packages/django/core/management/commands/runserver.py", line 107, in inner_run
autoreload.raise_last_exception()
  File "/Users/nonzero/Programming/Data_Wizard/env/lib/python3.4/site-packages/django/utils/autoreload.py", line 252, in raise_last_exception
six.reraise(*_exception)
  File "/Users/nonzero/Programming/Data_Wizard/env/lib/python3.4/site-packages/django/utils/six.py", line 658, in reraise
raise value.with_traceback(tb)
  File "/Users/nonzero/Programming/Data_Wizard/env/lib/python3.4/site-packages/django/utils/autoreload.py", line 229, in wrapper
fn(*args, **kwargs)
  File "/Users/nonzero/Programming/Data_Wizard/env/lib/python3.4/site-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
  File "/Users/nonzero/Programming/Data_Wizard/env/lib/python3.4/site-packages/django/apps/registry.py", line 108, in populate
app_config.import_models(all_models)
  File "/Users/nonzero/Programming/Data_Wizard/env/lib/python3.4/site-packages/django/apps/config.py", line 198, in import_models
self.models_module = import_module(models_module_name)
  File "/Users/nonzero/Programming/Data_Wizard/env/lib/python3.4/importlib/__init__.py", line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
...
...
...

我已經確保可以在命令行上使用psql和ps -e | grep postgres訪問數據庫ps -e | grep postgres 我得到的ps -e | grep postgres

1647 ??         0:00.31 /usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres -r /usr/local/var/postgres/server.log
1649 ??         0:00.01 postgres: checkpointer process       
1650 ??         0:00.30 postgres: writer process       
1651 ??         0:00.26 postgres: wal writer process       
1652 ??         0:00.24 postgres: autovacuum launcher process       
1653 ??         0:00.72 postgres: stats collector process 
75317 ttys001    0:00.00 grep postgres

我也懷疑這可能是某些版本控制問題,但是我正在使用psycopg2(2.6.1)和postgres(9.4.5)的當前版本。

我也只是嘗試使用sqlalchemy在某些代碼中編寫簡單查詢而遇到錯誤,因此我認為它不是特定於Django的。

對於其他有類似問題的人,我通過用brew rmtree刪除了所有版本的python和postgres來解決此問題。 我還必須刪除先前安裝在/ Library / Frameworks目錄中的python安裝程序,清除.bash-profile中PATH中的冗余,然后重新brew install所有內容。 另外, brew doctor可以解決任何符號鏈接問題。 但是,並非100%能夠完全解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM