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
является строкой, вызывающей проблему.
Помогите, пожалуйста! Застрял на этом уже несколько дней.
Полное сообщение об ошибке: