From 6c35a006c22ce4bf47a2c0ad02bc0fabf2b5bcc0 Mon Sep 17 00:00:00 2001 From: realpython-bot Date: Fri, 28 Aug 2026 12:32:46 +0000 Subject: [PATCH] Update face-recognition dependency pins to match the tutorial The tutorial "Build Your Own Face Recognition Tool With Python" was refreshed in the CMS and its requirements.txt block now pins current releases. These seven files still carried the 2023-era pins, so anyone downloading the materials built a different environment than the article describes. dlib 19.24.0 -> 20.0.1 numpy 1.24.2 -> 2.5.2 Pillow 9.4.0 -> 12.3.0 setuptools (absent) -> 81.0.0 face-recognition stays at 1.3.0, its latest release (2020-02-20). The setuptools pin is the load-bearing one. face_recognition_models does `from pkg_resources import resource_filename` at import time, and setuptools removed pkg_resources in 82.0.0 -- the 81.0.0 wheel ships 19 files under pkg_resources/, the 82.0.0 wheel ships none. Without the pin, `import face_recognition` aborts with "Please install face_recognition_models". Co-Authored-By: Claude Opus 5 (1M context) --- face-recognition/source_code_final/requirements.txt | 7 ++++--- face-recognition/source_code_step_1/requirements.txt | 7 ++++--- face-recognition/source_code_step_2/requirements.txt | 7 ++++--- face-recognition/source_code_step_3/requirements.txt | 7 ++++--- face-recognition/source_code_step_4/requirements.txt | 7 ++++--- face-recognition/source_code_step_5/requirements.txt | 7 ++++--- face-recognition/source_code_step_6/requirements.txt | 7 ++++--- 7 files changed, 28 insertions(+), 21 deletions(-) diff --git a/face-recognition/source_code_final/requirements.txt b/face-recognition/source_code_final/requirements.txt index 1612a0a61b..c7bfc0720e 100644 --- a/face-recognition/source_code_final/requirements.txt +++ b/face-recognition/source_code_final/requirements.txt @@ -1,4 +1,5 @@ -dlib==19.24.0 +dlib==20.0.1 face-recognition==1.3.0 -numpy==1.24.2 -Pillow==9.4.0 \ No newline at end of file +numpy==2.5.2 +Pillow==12.3.0 +setuptools==81.0.0 diff --git a/face-recognition/source_code_step_1/requirements.txt b/face-recognition/source_code_step_1/requirements.txt index 1612a0a61b..c7bfc0720e 100644 --- a/face-recognition/source_code_step_1/requirements.txt +++ b/face-recognition/source_code_step_1/requirements.txt @@ -1,4 +1,5 @@ -dlib==19.24.0 +dlib==20.0.1 face-recognition==1.3.0 -numpy==1.24.2 -Pillow==9.4.0 \ No newline at end of file +numpy==2.5.2 +Pillow==12.3.0 +setuptools==81.0.0 diff --git a/face-recognition/source_code_step_2/requirements.txt b/face-recognition/source_code_step_2/requirements.txt index 1612a0a61b..c7bfc0720e 100644 --- a/face-recognition/source_code_step_2/requirements.txt +++ b/face-recognition/source_code_step_2/requirements.txt @@ -1,4 +1,5 @@ -dlib==19.24.0 +dlib==20.0.1 face-recognition==1.3.0 -numpy==1.24.2 -Pillow==9.4.0 \ No newline at end of file +numpy==2.5.2 +Pillow==12.3.0 +setuptools==81.0.0 diff --git a/face-recognition/source_code_step_3/requirements.txt b/face-recognition/source_code_step_3/requirements.txt index 1612a0a61b..c7bfc0720e 100644 --- a/face-recognition/source_code_step_3/requirements.txt +++ b/face-recognition/source_code_step_3/requirements.txt @@ -1,4 +1,5 @@ -dlib==19.24.0 +dlib==20.0.1 face-recognition==1.3.0 -numpy==1.24.2 -Pillow==9.4.0 \ No newline at end of file +numpy==2.5.2 +Pillow==12.3.0 +setuptools==81.0.0 diff --git a/face-recognition/source_code_step_4/requirements.txt b/face-recognition/source_code_step_4/requirements.txt index 1612a0a61b..c7bfc0720e 100644 --- a/face-recognition/source_code_step_4/requirements.txt +++ b/face-recognition/source_code_step_4/requirements.txt @@ -1,4 +1,5 @@ -dlib==19.24.0 +dlib==20.0.1 face-recognition==1.3.0 -numpy==1.24.2 -Pillow==9.4.0 \ No newline at end of file +numpy==2.5.2 +Pillow==12.3.0 +setuptools==81.0.0 diff --git a/face-recognition/source_code_step_5/requirements.txt b/face-recognition/source_code_step_5/requirements.txt index 1612a0a61b..c7bfc0720e 100644 --- a/face-recognition/source_code_step_5/requirements.txt +++ b/face-recognition/source_code_step_5/requirements.txt @@ -1,4 +1,5 @@ -dlib==19.24.0 +dlib==20.0.1 face-recognition==1.3.0 -numpy==1.24.2 -Pillow==9.4.0 \ No newline at end of file +numpy==2.5.2 +Pillow==12.3.0 +setuptools==81.0.0 diff --git a/face-recognition/source_code_step_6/requirements.txt b/face-recognition/source_code_step_6/requirements.txt index 1612a0a61b..c7bfc0720e 100644 --- a/face-recognition/source_code_step_6/requirements.txt +++ b/face-recognition/source_code_step_6/requirements.txt @@ -1,4 +1,5 @@ -dlib==19.24.0 +dlib==20.0.1 face-recognition==1.3.0 -numpy==1.24.2 -Pillow==9.4.0 \ No newline at end of file +numpy==2.5.2 +Pillow==12.3.0 +setuptools==81.0.0