使用 mysql.connector 的 Dockerize python flask api 在 运行 图像 docker 时给出 ModuleNotFoundError

Dockerize python flask api that uses mysql.connector gives ModuleNotFoundError when run the docker image

我使用 python3.7 烧瓶和 MySQL 创建了一个 API。我只是想 docker 化它。我能够成功创建 docker 图像。但是它抛出 ModuleNotFoundError: 当我 运行 it.

Docker 文件

FROM python:3.7.4-buster
COPY ./ /app
WORKDIR ./app
RUN pip install -r requirements.txt
ENTRYPOINT ["python3.7"]
CMD ["app.py"]

需求文件

pandas==0.25.1
pymongo==3.9.0
Flask==1.1.1
SQLAlchemy==1.3.8
mysql_connector_repackaged==0.3.1

Docker 镜像构建成功。但是,当我 运行 docker 图像时。我收到以下错误。

$ docker run -p 5000:5000 api_module:latest
Traceback (most recent call last):
  File "app.py", line 5, in <module>
    from mysqlDB import input_data_mysql
  File "/app/mysqlDB.py", line 2, in <module>
    import mysql.connector
  File "/usr/local/lib/python3.7/site-packages/mysql/connector/__init__.py", line 34, in <module>
    import _version
ModuleNotFoundError: No module named '_version'
mysql-connector-python==8.0.17

解决了这个问题