Я пытаюсь обновить свой пакет scikit-learn. Моя текущая версия 1.0.2. Я следую инструкциям по установке здесь: https://scikit-learn.org/stable/install.html#install-official-release
Я пытаюсь обновиться:
pip install -U scikit-learn
Это дает следующие сообщения в терминале:
(nec37) xyz@VUSELNX-51ZNMR2:~/PycharmProjects/Xyz(master)$ pip install -U scikit-learn
Requirement already satisfied: scikit-learn in /home/miniconda3/envs/nec37/lib/python3.7/site-packages (1.0.2)
Requirement already satisfied: threadpoolctl>=2.0.0 in /home/miniconda3/envs/nec37/lib/python3.7/site-packages (from scikit-learn) (3.1.0)
Requirement already satisfied: joblib>=0.11 in /home/miniconda3/envs/nec37/lib/python3.7/site-packages (from scikit-learn) (1.3.2)
Requirement already satisfied: numpy>=1.14.6 in /home/miniconda3/envs/nec37/lib/python3.7/site-packages (from scikit-learn) (1.21.6)
Requirement already satisfied: scipy>=1.1.0 in /home/miniconda3/envs/nec37/lib/python3.7/site-packages (from scikit-learn) (1.7.3)
То же самое происходит, когда я использую: pip3 install -U scikit-learn
Версия осталась прежней:
(nec37) xyz@VUSELNX-51ZNMR2:~/PycharmProjects/xyz(master)$ python -c "import sklearn;
print(sklearn.__version__)"
1.0.2
Как его обновить?
Обновление
когда я пытаюсь:
pip install -I -U scikit-learn
Я получаю следующее без обновления.
Installing collected packages: threadpoolctl, numpy, joblib, scipy, scikit-learn
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
hdbscan 0.8.28 requires cython>=0.27, which is not installed.
Successfully installed joblib-1.3.2 numpy-1.21.6 scikit-learn-1.0.2 scipy-1.7.3 threadpoolctl-3.1.0
(ims37) C:\Users\xyz\PycharmProjects\peakpickingdilemma>python -c "import sklearn; print(sklearn.__version__)"
1.0.2
Отличное предложение. но, к сожалению, не обновилось. См. раздел обновлений выше.






Возможно, вы захотите попробовать это утверждение один раз,
pip install --upgrade scikit-learn
Это должно сработать.
Это не сработало. ``` (ims37) C:\Users\xyz\PycharmProjects\peakpickingdilemma>pip install --upgrade scikit-learn Требование уже выполнено: scikit-learn в c:\users\xyz\miniconda3\envs\ims37\lib\site- packages (1.0.2) Требование уже выполнено: scipy>=1.1.0 в c:\users\xyz\miniconda3\envs\ims37\lib\site-packages (из scikit-learn) (1.7.3) Требование уже выполнено: threadpoolctl>=2.0.0 в c:\users\xyz\miniconda3\envs\ims37\lib\site-packages (из scikit-learn) (3.1.0) >> python -c "import sklearn; print(sklearn.__version__) )" 1.0.2 ```
Согласно PyPI, последней версией scikit-learn, поддерживающей Python 3.7, является 1.0.2.
Если вы хотите использовать более новую версию scikit-learn, вам придется использовать более позднюю версию Python.
(Обычно я захожу на страницу пакета PyPI, выбираю «История выпусков», затем выбираю самый последний выпуск с исправлением ошибок для каждой основной и второстепенной версии и прокручиваю вниз, чтобы проверить поддерживаемые версии Python, перечисленные слева. Возможно, есть лучший способ, но он подходит для быстрого сканирования совместимых выпусков.)
Возможно, это очевидное замечание, но срок службы Python 3.7 закончился в середине 2023 года; с тех пор для него не было никаких исправлений безопасности.
Если вам придется использовать Python 3.7, ожидайте, что вам также придется использовать более старые версии пакета. По сути, вы путешествуете во времени в прошлое и не должны ожидать, что можно будет использовать новые пакеты.
Это действительно имеет смысл. Я некоторое время использую Python 3.7 и совершенно упустил из виду, что это может зависеть от обновления. Я обновил Python до версии 3.10, а команда -I -U scikit-learn обновилась до версии 1.4.1.post1. Честно говоря, я не знаю, что такое post1. Это какая-то версия с исправлением ошибок?
Релиз post1 представляет собой небольшое обновление версии 1.4.1, ограничивающее версию зависимости NumPy <2.0. См. github.com/scikit-learn/scikit-learn/commit/….
это может быть что-то еще, в зависимости от этого, поэтому оно не обновляется. Вы также можете использовать флаг
-I, чтобы игнорировать текущую версию установки, поэтомуpip install -I -U scikit-learnpip.pypa.io/en/stable/cli/pip_install/#cmdoption -Я