使用 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
解决了这个问题
我使用 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
解决了这个问题