diff --git a/Dockerfile b/Dockerfile index bbacbd6..b35bc12 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,40 +18,14 @@ RUN apt-get update -qq && apt-get install -y \ # Dependencies for OpenCV RUN apt-get install -y libgl1 -# Install additional Python packages -RUN pip3 install --no-cache-dir \ - flask_sqlalchemy \ - numpy \ - pandas \ - passlib \ - plotly \ - pytz \ - cachelib \ - cffi \ - inflect \ - emoji \ - pyfiglet \ - multipledispatch \ - Pillow==10.4.0 \ - tabulate \ - validators \ - validator-collection \ - fpdf2==2.8.2 - -# Install ML packages for CS50 AI -RUN pip3 install --no-cache-dir \ - nltk \ - opencv-python \ - scikit-learn \ - tf-nightly \ - transformers==4.35.0 +# Install Python packages from requirements file +COPY dependencies/python/requirements.txt /tmp/requirements.txt +RUN pip3 install --no-cache-dir -r /tmp/requirements.txt && \ + rm /tmp/requirements.txt # Install nltk data RUN python3 -c "import nltk; nltk.download('punkt_tab', download_dir='/usr/share/nltk_data/')" -# Install CS50 Python packages -RUN pip3 install cs50 --upgrade --no-cache-dir - # Install R and dependencies for tidyverse library RUN apt-get update -qq && apt-get install -y \ automake \ diff --git a/dependencies/python/requirements.txt b/dependencies/python/requirements.txt new file mode 100644 index 0000000..937a118 --- /dev/null +++ b/dependencies/python/requirements.txt @@ -0,0 +1,28 @@ +# Additional Python packages +cachelib==0.13.0 +cffi==1.17.1 +emoji==2.14.1 +Flask==3.1.1 +Flask-Session==0.8.0 +Flask-SQLAlchemy==3.1.1 +fpdf2==2.8.3 +inflect==7.5.0 +multipledispatch==1.0.0 +numpy==2.3.2 +pandas==2.3.1 +passlib==1.7.4 +Pillow==11.3.0 +plotly==6.2.0 +pyfiglet==1.0.3 +pytz==2025.2 +tabulate==0.9.0 +validator-collection==1.5.0 +validators==0.35.0 + +# CS50 AI +nltk==3.9.1 +opencv-python +scikit-learn==1.7.1 +tf-nightly==2.21.0.dev20250801 +tf-keras +transformers==4.35.0 \ No newline at end of file