在docker上错误“No module named MySQLdb”

我想连接我的docker应用程序容器到本地的MySQL,但我得到一个错误,“没有名为MySQLdb的模块”。 我的config.py文件是:

import os BASEDIR = os.path.abspath(os.path.dirname(__file__)) SQLALCHEMY_MIGRATE_REPO = os.path.join(BASEDIR, 'db_repository') SQLALCHEMY_DATABASE_URI = 'mysql+mysqldb://root:@192.168.0.29/test' DEBUG = True 

我的docker文件是:

 FROM python:2.7-slim WORKDIR /app ADD . /app RUN pip install -r requirements.txt EXPOSE 9999 ENV NAME flaskCrudAPI CMD ["python", "run.py"] 

我的requirements.txt文件包含以下内容:

 virtualenv flask mysql-server flask_sqlalchemy flask_migrate sqlalchemy 

我使用这个命令运行应用程序:

 docker run -p 9999:9999 flaskcrud 

但是我得到关于mysqldb模块没有find这个错误。 我已经尝试将python-mysql和其他一些包添加到requirements.txt文件,但是,即使在安装命令下,容器的构build也会失败。 我究竟做错了什么? 或者我应该怎么做?

与requirements.txt文件的错误。 我使用了文件中列出的所有依赖关系的正确版本,我能够安装mysql-python而不出错。

似乎正在发生的另一个问题是python版本。 我正在使用python的瘦身版本,恰巧也是造成这个问题的原因。 我改变了python:2.7-slim只是python:2.7 ,我能够解决这个问题。

我希望这有帮助