Я столкнулся с некоторыми проблемами при установке mysql-connector-python через pip в контейнере Docker.
Я пытался так много раз и искал в google какую-то помощь почти весь день: O Пусть сообщество stackoverflow можетВыручите меня сейчас
Мой Dockerfile
FROM python:3
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD [ "python", "./run.py" ]
require.txt:
Flask==1.1.1
markdown==3.1.1
mysql-connector-python==8.0.17
На картинке вы можете увидеть, где находятся мои разные файлы. Как только я сейчас пытаюсь импортировать пакет mysql в init .py с import mysql.connector
, я получаю следующую ошибку:
[...]/__init__.py", line 4, in <module>
import mysql.connector
ModuleNotFoundError: No module named 'mysql'
EDIT: my init .py:
import markdown
import os
import mysql.connector
from flask import Flask
from flask import request, jsonify
#Create an instance of Flask
app = Flask(__name__)
@app.route("/")
def index():
"""Present some API documentation"""
# Open the README file
with open(os.path.dirname(app.root_path) + '/README.md', 'r') as markdown_file:
#Read content
content = markdown_file.read()
#Convert to HTML
return markdown.markdown(content)
@app.route("/healthinsurances", methods=['GET','POST'])
def healthinsurances():
if (request.method == 'GET'):
cnx = connection.MySQLConnection(user='usr', password='pwd', host='host', database='db')
cnx.close()
return jsonify({'some': 'json'})
else:
some_json = request.get_json()
return jsonify({'you sent': some_json}), 201
Я также перечислил перечисленные ниже установки pip в контейнере:
$ docker exec 7d5267a06dcc8c0f1d3a421c79f20c559fddf8ed65ada329e6f71ce69ddb0567 pip list
Package Version
------------ -------
Click 7.0
Flask 1.1.1
itsdangerous 1.1.0
Jinja2 2.10.3
Markdown 3.1.1
MarkupSafe 1.1.1
pip 19.2.3
setuptools 41.2.0
Werkzeug 0.16.0
wheel 0.33.6
Итак, моя проблема в том, что я вижу, что пакет явно не установлен,Но я понятия не имею, почему ??!
Можете ли вы помочь мне. Большое спасибо заранее.