首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果不使用PostgreSQL,Django后端可以吗?cPanel和共享主机部署约束

如果不使用PostgreSQL,Django后端可以吗?cPanel和共享主机部署约束
EN

Stack Overflow用户
提问于 2019-12-20 20:22:04
回答 2查看 1.5K关注 0票数 1

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

NameCheap目前只支持PostgreSQL: 8.4.20。

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

当前的psycopg2实现支持:

  • Python版本2.7
  • Python 3版本从3.4到3.8
  • PostgreSQL服务器版本从7.4到12
  • PostgreSQL客户端库版本来自9.1

从8.4.20升级到>= 9.1在NameCheap (共享托管计划)中不是一个选项。

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

代码语言:javascript
运行
复制
./psycopg/psycopg.h:30:2: error: #error "Psycopg requires
PostgreSQL client library (libpq) >= 9.1

因为PostgreSQL 8.4.20 < PostgreSQL: 9.1。

我的问题是:

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-12-30 03:13:47

我还尝试在Namec堆共享主机上使用PostgreSQL数据库和Django。我在一开始就遇到了问题,但现在我使用它时没有问题。下面是在共享主机上使用PostgreSQL数据库的过程(尽管我使用的是psycopg2):

  1. 像往常一样部署Django应用程序,但数据库部分除外
  2. 创建一个PostgreSQL数据库。请注意它的名称以及您添加到其中的用户的用户名和密码。
  3. 在CPanel中启动终端(您也可以通过SSH完成此操作),输入虚拟环境并执行以下命令来安装psycopg2 (二进制发行版):
代码语言:javascript
运行
复制
    pip install psycopg2-binary
  1. 现在编辑您的settings.py并为数据库添加以下配置:
代码语言:javascript
运行
复制
'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而不是本地主机

  1. 您的数据库已经配置完毕。重新启动python应用程序,执行迁移等。

我正在使用Python3.7和Django 3.0

我还在我的博客上写了一篇关于这个的文章。

票数 2
EN

Stack Overflow用户

发布于 2019-12-26 14:14:00

你可以安装心理学2.6.2。Libpq >= 9.1是只需要的,因为心理科2.7。

试试pip install "psycopg2<2.7"

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59430952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档