首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >testdriven.io获取错误SCRAM身份验证需要libpq版本10或更高版本。

testdriven.io获取错误SCRAM身份验证需要libpq版本10或更高版本。
EN

Stack Overflow用户
提问于 2022-07-17 20:28:02
回答 1查看 221关注 0票数 1

我正在从testdriven.io编写一个教程(用Python、Flask和Docker进行测试驱动的开发),并运行以下命令:

代码语言:javascript
复制
docker-compose exec api python manage.py recreate_db

我得到了以下错误: qlalchemy.exc.OperationalError:(Kercopg2.OperationalError) SCRAM身份验证需要libpq 10或更高版本

从我所做的研究来看,这是因为libpq不是内核2-二进制的正确版本。我已经厌倦了很多建议,比如在满足要求之前在我的docker文件中包含以下内容:

代码语言:javascript
复制
RUN apt-get -qq update && apt-get -qq install curl libpq-dev gcc 1> /dev/null

我也尝试过使用psycopg2而不是内核2-二进制。

我尝试了各种对接图像,但仍然无法通过这一点。任何帮助都将不胜感激。

我的系统: Macbook版本12.1苹果M1 Pro芯片

Requirements.txt文件:

代码语言:javascript
复制
flask==2.1.1
flask-restx==0.5.1
Flask-SQLAlchemy==2.5.1
psycopg2-binary==2.9.3
pytest==7.1.1

Dockerfile:

代码语言:javascript
复制
# pull official base image
FROM python:3.10.3-slim-buster

# set working directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1 .
ENV PYTHONBUFFERED 1

#RUN apt-get -qq update && apt-get -qq install curl libpq-dev gcc 1> /dev/null

# install system dependencies
RUN apt-get update \
    && apt-get -y install netcat gcc postgresql \
    && apt-get clean

# add and install requirements
COPY ./requirements.txt .
RUN pip install -U --trusted-host files.pythonhosted.org --trusted-host pypi.org -r requirements.txt

# add app
COPY . .

# add entrypoint.sh
COPY ./entrypoint.sh .
RUN chmod +x /usr/src/app/entrypoint.sh
EN

回答 1

Stack Overflow用户

发布于 2022-07-22 17:54:20

在“迈克尔·赫尔曼”的帮助下,我成功地完成了这个任务。我把postgres的图像版本从14降到了11,这解决了这个问题。

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

https://stackoverflow.com/questions/73015135

复制
相关文章

相似问题

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