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

时间:2021-07-21 10:36:19

标签: django postgresql heroku

(我的操作系统是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.

我该如何解决这个错误。谢谢

0 个答案:

没有答案