Scikit-learn не обновляется

Я пытаюсь обновить свой пакет 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

это может быть что-то еще, в зависимости от этого, поэтому оно не обновляется. Вы также можете использовать флаг -I, чтобы игнорировать текущую версию установки, поэтому pip install -I -U scikit-learnpip.pypa.io/en/stable/cli/pip_install/#cmdoption -Я

YTKme 22.02.2024 17:49

Отличное предложение. но, к сожалению, не обновилось. См. раздел обновлений выше.

banikr 23.02.2024 17:16
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
2
387
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 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 ```

banikr 23.02.2024 17:09
Ответ принят как подходящий

Согласно 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. Это какая-то версия с исправлением ошибок?

banikr 23.02.2024 17:39

Релиз post1 представляет собой небольшое обновление версии 1.4.1, ограничивающее версию зависимости NumPy <2.0. См. github.com/scikit-learn/scikit-learn/commit/….

9769953 23.02.2024 18:18

Другие вопросы по теме