我正在尝试将我的docker应用程序容器连接到本地mysql,但是我得到一个错误,#34;没有名为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模块的错误。我已经尝试将python-mysql和许多其他软件包添加到requirements.txt文件中,但是,即使是在安装命令中,容器的构建也会失败。我究竟做错了什么?或者我该怎么办?
答案 0 :(得分:0)
requirements.txt文件出错。我对文件中列出的所有依赖项使用了正确的版本,并且我能够安装mysql-python而没有错误。
似乎正在发生的另一个问题是python版本。我正在使用精简版的python,这也恰好导致了这个问题。我将python:2.7-slim
更改为python:2.7
,我就能解决问题。
我希望这会有所帮助