Django Docker compose在下载mysqlclient时出错
我在构建docker-compose.yml时遇到此错误。我有一个django项目,当我尝试安装它的依赖项时,我得到以下错误:Django Docker compose在下载mysqlclient时出错,django,docker,docker-compose,Django,Docker,Docker Compose,我在构建docker-compose.yml时遇到此错误。我有一个django项目,当我尝试安装它的依赖项时,我得到以下错误: ERROR: Command errored out with exit status 1: command: /usr/local/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-_okt_256/mysqlclien
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-_okt_256/mysqlclient/setup.py'"'"'; __file__='"'"'/tmp/pip-install-_okt_256/mysqlclient/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-9yseytwi
cwd: /tmp/pip-install-_okt_256/mysqlclient/
Complete output (12 lines):
/bin/sh: 1: mysql_config: not found
/bin/sh: 1: mariadb_config: not found
/bin/sh: 1: mysql_config: not found
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-_okt_256/mysqlclient/setup.py", line 15, in <module>
metadata, options = get_config()
File "/tmp/pip-install-_okt_256/mysqlclient/setup_posix.py", line 65, in get_config
libs = mysql_config("libs")
File "/tmp/pip-install-_okt_256/mysqlclient/setup_posix.py", line 31, in mysql_config
raise OSError("{} not found".format(_mysql_config_path))
OSError: mysql_config not found
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
下载mysqlclient时弹出错误
有人帮忙吗
docker-compose.yml看起来像这样
version: '3.7'
services:
db:
image: mysql:5.6
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: 'djangodatabase'
MYSQL_USER: 'admin'
MYSQL_PASSWORD: '12345'
MYSQL_ROOT_PASSWORD: '12345'
web:
build: .
command: python manage.py runserver 127.0.0.1:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
这是我的Docker文件:
FROM python:3.8-slim
ENV PYTHONBUFFERED 1
RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/
将以下依赖项添加到Dockerfile中
FROM python:3.8-slim
ENV PYTHONBUFFERED 1
WORKDIR /code
COPY requirements.txt /code/
RUN apt update && \
apt install -y libmariadb-dev-compat libmariadb-dev && \
pip install -r requirements.txt
COPY . /code/
它会起作用的
FROM python:3.7-slim
RUN apt-get update
RUN apt-get install -y gcc
RUN apt-get install -y default-libmysqlclient-dev
ENV PYTHONBUFFERED 1
RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/
通过在docker文件中添加默认的libmysqlclient-dev依赖项修复了此问题。缺少一些依赖项检查此问题@SergioTanaka,我已检查此问题,但无法解决。我的项目在本地运行得很好。我已经使用了所有的dependenciespaste文件,您需要将
libmysqlclient dev
安装到container@SergioTanaka:我添加了文件try to rundocker compose build
->docker compose run web apt update
和docker compose run web apt install libmysqlclient dev
->docker compose up
FROM python:3.7-slim
RUN apt-get update
RUN apt-get install -y gcc
RUN apt-get install -y default-libmysqlclient-dev
ENV PYTHONBUFFERED 1
RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/