Django指向错误版本的Postgres
问题描述:
我通过删除Postgres.app桌面应用程序将Postgres.app从9.6降级到9.5。我做Django指向错误版本的Postgres
更新数据库(我下载的Postgres通过下载Postgres.app桌面应用程序,我做PIP安装Django Django的安装)
sudo /usr/libexec/locate.updatedb
它看起来是从右边的目录数据库启动。
/Applications/Postgres.app/Contents/Versions/9.5/bin/initdb
/Applications/Postgres.app/Contents/Versions/9.5/share/doc/postgresql/html/app-initdb.html
/Applications/Postgres.app/Contents/Versions/9.5/share/man/man1/initdb.1
然而,当我试图做我的Django应用程序迁移,它看起来像路径仍指向9.6版本Postgress
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "/Users/me/Desktop/myapp/venv/lib/python2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
utility.execute()
File "/Users/me/Desktop/myapp/venv/lib/python2.7/site-packages/django/core/management/__init__.py", line 341, in execute
django.setup()
File "/Users/me/Desktop/myapp/venv/lib/python2.7/site-packages/django/__init__.py", line 27, in setup
apps.populate(settings.INSTALLED_APPS)
File "/Users/me/Desktop/myapp/venv/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
app_config.import_models(all_models)
File "/Users/me/Desktop/myapp/venv/lib/python2.7/site-packages/django/apps/config.py", line 199, in import_models
self.models_module = import_module(models_module_name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/Users/me/Desktop/myapp/venv/lib/python2.7/site-packages/tenant_schemas/models.py", line 4, in <module>
from tenant_schemas.postgresql_backend.base import _check_schema_name
File "/Users/me/Desktop/myapp/venv/lib/python2.7/site-packages/tenant_schemas/postgresql_backend/base.py", line 14, in <module>
import psycopg2
File "/Users/me/Desktop/myapp/venv/lib/python2.7/site-packages/psycopg2/__init__.py", line 50, in <module>
from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: dlopen(/Users/me/Desktop/myapp/venv/lib/python2.7/site-packages/psycopg2/_psycopg.so, 2): Library not loaded: /Applications/Postgres.app/Contents/Versions/9.6/lib/libpq.5.dylib
Referenced from: /Users/me/Desktop/myapp/venv/lib/python2.7/site-packages/psycopg2/_psycopg.so
Reason: image not found
答
这解决了这个问题对我来说:
-
卸载psycopg2
PIP卸载psycopg2
-
然后做到这一点
PIP --no-的cache dir install -U psycopg2
答
我认为你的问题是,当前安装的psycopg2
版本引用了与您先前安装的postgres(/Applications/Postgres.app/Contents/Versions/9.6/lib/libpq.5.dylib
)捆绑在一起的C postgres库。
尝试卸载并重新安装psycopg2
。
pip uninstall psycopg2
pip install psycopg2
+0
我试过这个,它仍然给了我相同的输出 – YAL
请更新您的问题,包括您如何安装postgresql和django – e4c5
@ e4c5刚刚更新,谢谢! – YAL