RUN pip install --no-cache-dir -r require.txt installieren, aber nicht mit Docker arbeiten
Posted: 20 Jan 2025, 15:59
Ich habe versucht, Docker für ein paar Projekte zu verwenden, eines ist ein Django und ein anderes ist ein Python-Telegram-Bot; Aber in beiden Fällen besteht das Problem darin, dass egal wie ich „requirements.txt“ in den Container kopiere oder installiere, die Bibliotheken anscheinend installiert werden, aber dann erhalte ich plötzlich Fehlermeldungen wie diese im Haupt-Python-Container:
telegram-bot-container | Datei „/app/run.py“, Zeile 15, in
telegram-bot-container | Importprotokollierung, mysql_handler, cmc_handler, Konstanten
telegram-bot-container | Datei „/app/mysql_handler.py“, Zeile 2, in
telegram-bot-container | aus der Entkopplungs-Importkonfiguration
telegram-bot-container | ModuleNotFoundError: Kein Modul mit dem Namen „de Couple“
Und ich muss alle fehlenden Bibliotheken so installieren, als ob „requirements.txt“ überflüssig wäre!:
Bitte helfen Sie mir, das Problem zu identifizieren.
Meine gesamte Docker-Datei:
Ich habe versucht, mit/ohne Caching neu zu erstellen.
Ich kann sehen, dass die Pakete in Protokollen installiert werden.
telegram-bot-container | Datei „/app/run.py“, Zeile 15, in
telegram-bot-container | Importprotokollierung, mysql_handler, cmc_handler, Konstanten
telegram-bot-container | Datei „/app/mysql_handler.py“, Zeile 2, in
telegram-bot-container | aus der Entkopplungs-Importkonfiguration
telegram-bot-container | ModuleNotFoundError: Kein Modul mit dem Namen „de Couple“
Und ich muss alle fehlenden Bibliotheken so installieren, als ob „requirements.txt“ überflüssig wäre!:
Code: Select all
pip install python-telegram-bot mysql-connector-python python-coinmarketcap python-decouple
Meine gesamte Docker-Datei:
Code: Select all
FROM python:3.10-slim
WORKDIR /app
COPY ./requirements.txt /app/
RUN python -m pip install --upgrade pip && \
pip install --no-cache-dir -r requirements.txt || echo "Skipping problematic package." && \
pip install python-telegram-bot mysql-connector-python python-coinmarketcap
COPY . /app
EXPOSE 8081
CMD ["python", "run.py" ]
Ich kann sehen, dass die Pakete in Protokollen installiert werden.