MacOS High Sierra
Python 3.6.3
泊坞窗,compose.yml
version: '3'
services:
celery:
container_name: "cache_bot"
build:
context: .
dockerfile: docker/celery/Dockerfile
command: "celery -A cache_bot.app worker --loglevel=info"
volumes:
- ./src:/www
Dockerfile
FROM python:3.6-alpine
RUN apk --update add --no-cache bash gcc libc-dev unixodbc-dev python3-dev
ADD ./src /www
ADD ./requirements.txt /home
WORKDIR /www
RUN pip install -r /home/requirements.txt
requirements.txt
mysqlclient==1.3.12
...
当我运行命令'docker-compose build'时,我得到错误:
命令“python setup.py egg_info”失败,错误代码1在/ tmp / pip-install-jsegcbha / mysqlclient /
错误:服务'celery'无法构建:命令'/ bin / sh -c pip install -r /home/requirements.txt'返回非零代码:1
完全追溯:
收集mysqlclient == 1.3.12(来自-r /home/requirements.txt(第8行))
从命令python setup.py egg_info完成输出:
/ bin / sh:mysql_config:找不到
Traceback(最近一次调用最后一次):
文件“/tmp/pip-install-jsegcbha/mysqlclient/setup.py”,第17行,元数据,options = get_config()
文件“/tmp/pip-install-jsegcbha/mysqlclient/setup_posix.py”,第44行,在get_config中libs = mysql_config(“libs_r”)
在mysql_config中输入文件“/tmp/pip-install-jsegcbha/mysqlclient/setup_posix.py”,第26行
引发EnvironmentError(“%s not found”%(mysql_config.path,))
OSError:找不到mysql_config
实际上,mysql_config是路径/ usr / local / bin,这个路径是在$ PATH中设置的
我试过 - 在我的Dockerfile中运行pip install --upgrade setuptools。它没有帮助。
ENV PATH / usr / local / bin:Dockerfile中的$ PATH也无济于事。
非常感谢!!!!!!!!!!!!!
我有同样的问题在命令行上尝试这个
brew install mysql-connector-c
brew install mysql
brew unlink mysql-connector-c
sudo pip install pymysql
sudo pip install mysqlclient
问题在于你的Dockerfile
,python:3.6-alpine
是Python的简化版本,而mysqlclient
正在寻找开发标题和库。
这是官方页面Pypi: mysqlclient
先决条件:您可能需要安装Python和MySQL开发头文件库...
我的解决方案
在我的情况下,我有苗条版本,我改为Python 3(3.7),它的工作原理。
#FROM python:3-slim
FROM python:3