KeyError: '__reduce_cython__' при попытке импортировать пакет sklearn в приложение Django

При попытке запустить мое приложение Django с помощью python manage.py runserver я получаю следующую ошибку, связанную с импортом модуля scikit-learn:

File "sklearn\\metrics\\_pairwise_distances_reduction\\_argkmin.pyx", line 1, in init sklearn.metrics._pairwise_distances_reduction._argkmin
KeyError: '__reduce_cython__'

Это последняя строка в большом сообщении об ошибке, приведенном ниже. Я перепробовал все, что нашел в Интернете, включая:

  • обновление всех пакетов
  • деинсталляция и переустановка связанных пакетов
  • проверка соблюдения зависимостей пакетов
  • использование pipdeptree, чтобы убедиться, что версии пакетов не конфликтуют
  • перезагрузка vscode, ноутбука и т.д.

Несмотря на это, каждый раз, когда я запускаю python manage.py runserver, появляется одна и та же ошибка.

Я использую pip для установки пакетов. Вот мои текущие версии пакетов в этом venv:

Package Version
asgiref 3.7.2
Cython 3.0.10
Django 5.0.5
django-cors-headers 4.3.1
django-environ 0.11.2
djangorestframework 3.14.0
joblib 1.4.2
numpy 1.26.4
packaging 24.0
pandas 2.2.1
pip 24.0
pipdeptree 2.19.1
psycopg 3.1.18
psycopg2-binary 2.9.9
python-dateutil 2.9.0.post0
pytz 2024.1
scikit-learn 1.4.2
scipy 1.13.0
six 1.16.0
sqlparse 0.4.4
stringcase 1.2.0
threadpoolctl 3.5.0
typing_extensions 4.9.0
tzdata 2024.1

Интересно, что from sklearn.feature_extraction.text import TfidfVectorizer не вызывает никаких проблем, но from sklearn.metrics.pairwise import cosine_distances является строкой, вызывающей проблему.

Помогите, пожалуйста! Застрял на этом уже несколько дней.

Полное сообщение об ошибке:

Вернуться на верх