ImportError:libpq.so.5:无法打开共享对象文件:没有这样的文件或目录



(我的操作系统是fedora 34(

我将django与haystack和postgresql一起使用。出于开发目的,我运行heroku local命令。我使用三个文件进行设置:base.py,local.py,pro.py。当我运行heroku时,我使用local.py文件:

from . base import *
DEBUG = True
SECRET_KEY='secretKey'
DATABASES = {
'default': {
'ENGINE':'django.db.backends.sqlite3',
'NAME':os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
if DEBUG:
INTERNAL_IPS = ('127.0.0.1', 'localhost',)
DEBUG_TOOLBAR_PANELS = [
'debug_toolbar.panels.versions.VersionsPanel',
'debug_toolbar.panels.timer.TimerPanel',
'debug_toolbar.panels.settings.SettingsPanel',
'debug_toolbar.panels.headers.HeadersPanel',
'debug_toolbar.panels.request.RequestPanel',
'debug_toolbar.panels.sql.SQLPanel',
'debug_toolbar.panels.staticfiles.StaticFilesPanel',
'debug_toolbar.panels.templates.TemplatesPanel',
'debug_toolbar.panels.cache.CachePanel',
'debug_toolbar.panels.signals.SignalsPanel',
'debug_toolbar.panels.logging.LoggingPanel',
'debug_toolbar.panels.redirects.RedirectsPanel',
]
DEBUG_TOOLBAR_CONFIG = {
'INTERCEPT_REDIRECTS': False,
}
export DJANGO_SETTINGS_MODULE=myshop.settings.local

但是heroku显示了这个错误:

12:54:14 PM web.1 |    File "/home/user/env2/lib64/python3.9/site-packages/django/contrib/postgres/apps.py", line 1, in <module>
12:54:14 PM web.1 |      from psycopg2.extras import (
12:54:14 PM web.1 |    File "/home/user/env2/lib64/python3.9/site-packages/psycopg2/__init__.py", line 51, in <module>
12:54:14 PM web.1 |      from psycopg2._psycopg import (                     # noqa
12:54:14 PM web.1 |  ImportError: libpq.so.5: cannot open shared object file: No such file or directory
12:54:14 PM web.1 |  [2021-07-21 09:54:14 +0000] [7689] [INFO] Worker exiting (pid: 7689)
12:54:14 PM web.1 |  [2021-07-21 12:54:14 +0300] [7688] [INFO] Shutting down: Master
12:54:14 PM web.1 |  [2021-07-21 12:54:14 +0300] [7688] [INFO] Reason: Worker failed to boot.

Postgresql正在运行:

postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vend>
Active: active (running) since Wed 2021-07-21 10:54:34 EEST; 1h 58min ago
Process: 2474 ExecStartPre=/usr/libexec/postgresql-check-db-dir postgresql >
Main PID: 2476 (postmaster)
Tasks: 8 (limit: 9381)
Memory: 31.2M
CPU: 663ms
CGroup: /system.slice/postgresql.service
├─2476 /usr/bin/postmaster -D /var/lib/pgsql/data
├─2477 postgres: logger
├─2479 postgres: checkpointer
├─2480 postgres: background writer
├─2481 postgres: walwriter
├─2482 postgres: autovacuum launcher
├─2483 postgres: stats collector
└─2484 postgres: logical replication launcher
Jul 21 10:54:34 fedora systemd[1]: Starting PostgreSQL database server...
Jul 21 10:54:34 fedora postmaster[2476]: 2021-07-21 10:54:34.242 EEST [2476] LO>
Jul 21 10:54:34 fedora postmaster[2476]: 2021-07-21 10:54:34.242 EEST [2476] HI>
Jul 21 10:54:34 fedora systemd[1]: Started PostgreSQL database server.

如何修复此错误。谢谢

我通过添加psycopg2二进制依赖修复了这个错误