gpt4 book ai didi

python - 不使用 psycopg2 是否可以使用 Django PostgreSQL 后端? cPanel 和共享主机部署限制

转载 作者:行者123 更新时间:2023-12-01 00:14:15 25 4
gpt4 key购买 nike

我正在 cPanel 托管环境 (NameCheap) 中部署 Django 项目。

NameCheap 目前仅支持 PostgreSQL:8.4.20。

我想使用 PostgreSQL 作为我的 Django 数据库后端,但是(请参阅粗体要求):

The current psycopg2 implementation supports:

  • Python version 2.7
  • Python 3 versions from 3.4 to 3.8
  • PostgreSQL server versions from 7.4 to 12
  • PostgreSQL client library version from 9.1

NameCheap(共享托管计划)中不提供从 8.4.20 升级到 >= 9.1 的选项。

所以我的问题是,如果我尝试执行 pip install psycopg2,我会收到错误:

./psycopg/psycopg.h:30:2: error: #error "Psycopg requires
PostgreSQL client library (libpq) >= 9.1

因为 PostgreSQL 8.4.20 < PostgreSQL:9.1。

我的问题是:

psycopg2是 Django 和 PostgreSQL 唯一“批准”(?)/“官方”/“支持”的模块吗?如果没有,我可以使用什么 psycopg2 替代包以及一般如何实现?

最佳答案

我还尝试在 Namecheap 共享主机上将 PostgreSQL 数据库与 Django 一起使用。一开始我遇到了问题,但现在我使用它没有问题。您可以按照以下步骤在共享主机上将 PostgreSQL 数据库与 Django 一起使用(尽管我使用的是 psycopg2):

  1. 照常部署 Django 应用(数据库部分除外)
  2. 创建 PostgreSQL 数据库。记下其名称以及您添加到其中的用户的用户名和密码。
  3. 在 CPanel 中启动终端(您也可以通过 SSH 执行此操作),进入虚拟环境并执行以下命令来安装 psycopg2(二进制发行版):
    pip install psycopg2-binary
  • 现在编辑您的 settings.py 并为数据库添加以下配置:
  • 'default': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    'NAME': 'database_name',
    'USER': 'database_username',
    'PASSWORD': 'database_password',
    'HOST': '127.0.0.1',
    'PORT': '5432',
    }

    确保使用 127.0.0.1 而不是 localhost

  • 您的数据库已配置。重新启动 python 应用程序,进行迁移等。
  • 我正在使用 Python 3.7 和 Django 3.0

    我还在我的 blog 上写了一篇关于此的文章.

    关于python - 不使用 psycopg2 是否可以使用 Django PostgreSQL 后端? cPanel 和共享主机部署限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59430952/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com