在新的Docker容器上安装psycopg2-binary失败。

14 浏览
0 Comments

在新的Docker容器上安装psycopg2-binary失败。

我在尝试在一个新的Docker容器上运行我的django项目时遇到了一个问题。

这是我第一次使用Docker,我似乎找不到一个好的方法在其中运行django项目。尝试了多个教程后,我总是收到关于未安装psycopg2的错误。

requirements.txt:

-i https://pypi.org/simple
asgiref==3.2.7
django-cors-headers==3.3.0
django==3.0.7
djangorestframework==3.11.0
gunicorn==20.0.4
psycopg2-binary==2.8.5
pytz==2020.1
sqlparse==0.3.1

Dockerfile:

# 拉取官方基础镜像
FROM python:3.8.3-alpine
# 设置工作目录
WORKDIR /usr/src/app
# 设置环境变量
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# 安装依赖
RUN pip install --upgrade pip
COPY ./requirements.txt .
RUN pip install -r requirements.txt
# 拷贝项目文件
COPY . .
# 设置项目环境变量
# 通过Python的os.environ获取这些变量
# 在这里这些是100%可选的
ENV PORT=8000
ENV SECRET_KEY_TWITTER = "***"

当运行docker-compose build时,我得到以下错误:

Error: pg_config可执行文件未找到。
pg_config是构建psycopg2所需的。请将包含pg_config的目录添加到$PATH中,或者使用选项指定完整的可执行文件路径:
python setup.py build_ext --pg-config /path/to/pg_config build ...
或在'setup.cfg'中使用pg_config选项。
如果您希望避免从源代码构建psycopg2,请安装PyPI中的'psycopg2-binary'包。

我很乐意回答任何可能引导解决方案的问题。

另外,也许有人可以向我推荐一个关于将django应用程序容器化的好教程吗?

0