Bcrypt mit Pip in einem Docker-Container installiert, aber ModuleNotFoundError angezeigtPython

Python-Programme
Anonymous
 Bcrypt mit Pip in einem Docker-Container installiert, aber ModuleNotFoundError angezeigt

Post by Anonymous »

Ich versuche, ein Python-Programm in einem Docker-Container auszuführen. Das Programm verwendet die bcrypt-Bibliothek. Es läuft ohne Probleme außerhalb eines Docker-Containers (mit Intellij Ultimate), aber in einem Docker-Container läuft es nicht richtig.
Meine Docker-Datei installiert bcrypt, wie unten gezeigt:

Code: Select all

FROM python:3.13-slim

WORKDIR /app
COPY service.py .
COPY f3login.py .
COPY dbaccess.py .
COPY requirements.txt .

RUN mkdir ./assets

RUN apt update
RUN apt install -y curl gcc g++
RUN curl -LsSO https://dlm.mariadb.com/enterprise-release-helpers/mariadb_es_repo_setup
RUN echo "1f584ffd368d18c64b8820bf6cd9b1114dda11a0ecf9524be3c967a3a5be941b mariadb_es_repo_setup" | sha256sum -c -
RUN chmod +x mariadb_es_repo_setup
RUN ./mariadb_es_repo_setup --mariadb-server-version="mariadb-10.6"

RUN apt install -y libmariadb3 libmariadb-dev

RUN pip3 install --no-cache-dir --upgrade pip
RUN pip3 install --no-cache-dir "bcrypt>=4.3.0"
RUN pip3 install mariadb
RUN pip3 install openai
RUN pip3 install langchain
RUN pip3 install langchain_openai
RUN pip3 install -U extra-streamlit-components
RUN pip3 install streamlit
RUN pip3 install streamlit-browser-engine
RUN pip3 install pymal

CMD ["python3","-m","streamlit","run","f3aichatter.py"]
Wenn ich mein Programm ausführe, läuft es leider ohne Probleme, bis ich tatsächlich versuche, auf die
Anwendung zuzugreifen. Dann erhalte ich Folgendes:

Code: Select all

service  | 2025-11-26 04:42:25.690 Uncaught app execution
service  | Traceback (most recent call last):
service  |   File "/usr/local/lib/python3.13/site-packages/streamlit/runtime/scriptrunner/exec_code.py", line 129, in exec_func_with_error_handling
service  |     result = func()
service  |   File "/usr/local/lib/python3.13/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 669, in code_to_exec
service  |     exec(code, module.__dict__)  # noqa: S102
service  |     ~~~~^^^^^^^^^^^^^^^^^^^^^^^
service  |   File "/app/f3aichatter.py", line 3, in 
service  |     from f3login import F3Login
service  |   File "/app/f3login.py", line 5, in 
service  |     import bcrypt
service  | ModuleNotFoundError: No module named 'bcrypt'
Das macht natürlich keinen Sinn. Ich installiere bcrypt und es sieht so aus, als würde das Python-Skript alle anderen Bibliotheken laden (f3login.py lädt bcrypt zuletzt). Die Anwendung sollte bcrypt laden, ist es aber nicht.
Kann mir jemand sagen, warum meine Anwendung bcrypt nicht findet?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post