conda aktualizacja scikit-learn (również scipy i numpy)

Myślę, że narobiłem bałaganu za pomocą pip install, kiedy mam używać conda. W rezultacie nie mogłem zaktualizować pakietu scikit-learn do najnowszej wersji. Odinstalowałem scikit-learn za pomocą conda i pip, a następnie zainstalowałem ponownie za pomocą conda, ale teraz mam problem z importem sklearn:

Python 2.7.11 |Anaconda custom (x86_64)| (default, Dec  6 2015, 18:57:58) 
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org

from sklearn import metrics
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/bowang/anaconda/lib/python2.7/site-packages/sklearn/metrics/__init__.py", line 7, in <module>
    from .ranking import auc
ImportError: No module named ranking 

Wydaje się również, że istnieją nieporozumienia z jaką wersją sklearn/numpy/scipy faktycznie używa:

$ conda update scikit-learn
Using Anaconda Cloud api site https://api.anaconda.org
Fetching package metadata: ......
Solving package specifications: .........

# All requested packages already installed.
# packages in environment at /Users/bowang/anaconda:
#
scikit-learn              0.15.2               np18py27_0    http://repo.continuum.io/pkgs/free/osx-64/scikit-learn-0.15.2-np18py27_0.tar.bz2

$ conda update scipy
Using Anaconda Cloud api site https://api.anaconda.org
Fetching package metadata: ......
Solving package specifications: .........

# All requested packages already installed.
# packages in environment at /Users/bowang/anaconda:
#
scipy                     0.14.0               np18py27_0    http://repo.continuum.io/pkgs/free/osx-64/scipy-0.14.0-np18py27_0.tar.bz2

Powyżej pokazuje, że nadal nie mogę zaktualizować do najnowszych wersji, ale:

$ python
Python 2.7.11 |Anaconda custom (x86_64)| (default, Dec  6 2015, 18:57:58) 
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import scipy
>>> scipy.__version__
'0.17.0'
>>> import numpy
>>> numpy.__version__
'1.11.0'
>>> import sklearn
>>> sklearn.__version__
'0.17.1'

Czy istnieje sposób na uporządkowanie i rozwiązanie wszystkich nieporozumień tutaj i umożliwienie mi aktualizacji, a tym samym korzystania z najnowszych wersji sklearn/numpy/scipy? Dziękuję!


person Blue482    schedule 25.04.2016    source źródło


Odpowiedzi (2)


Wygląda na to, że wersje zgłaszane przez conda nie pasują do wersji, które importujesz po uruchomieniu Pythona. To sprawia, że ​​myślę, że zainstalowałeś te pakiety w wielu miejscach i masz ustawioną zmienną $PYTHONPATH, aby Python znajdował różne instalacje (czasami zainstalowanie jakiegoś zestawu narzędzi doda to do skryptu startowego bash/sh) Spróbuj uruchomić

$ echo $PYTHONPATH

Jeśli coś jest tutaj pokazane, znajdź swój skrypt startowy i skomentuj to. Po upewnieniu się, że $PYTHONPATH jest puste, spróbuj wykonać następujące czynności:

$ conda update conda  # make sure package listing is up-to-date
$ conda remove numpy scipy scikit-learn
$ conda install scikit-learn

To generalnie działało dla mnie w przeszłości.

person jakevdp    schedule 25.04.2016
comment
Dzięki J! $PYTHONPATH jest już pusty, więc usunąłem i zainstalowałem scikit-learn i teraz mam najnowsze wersje. Tylko dwukrotnie sprawdzam, od teraz będę musiał używać conda install do instalowania wszystkich pakietów Pythona innych firm? Czy mogę też użyć pip install? - person Blue482; 25.04.2016
comment
Zalecam zainstalowanie condy, jeśli to możliwe (utrzymuje wszystkie zależności na bieżąco), ale jeśli pakiet nie jest dostępny przez conda, możesz również użyć pip: najpierw zrób conda install pip, jeśli jeszcze tego nie zrobiłeś. - person jakevdp; 25.04.2016
comment
pip install --user --install-option="--prefix=" -U scikit-learn , zobacz stronę pomocy scikit-learn.org/stable/developers/ zaawansowana_instalacja.html - person Ruthger Righart; 11.10.2017
comment
Zainstalowano dwie scipy (i dwie numpy również), jedną w conda i jedną w /usr/local/lib/python3.5/dist-packages/. Odinstalowałem oba moduły z /usr/local/lib za pomocą pip3 uninstall scipy, a następnie anaconda wróciła do korzystania z własnych instalacji, które można zaktualizować za pomocą conda update. - person Aleksander Lidtke; 17.05.2020

Uwaga: nie używaj polecenia pip, jeśli używasz Anacondy lub Minicondy

Próbowałem następujących poleceń:

!conda update conda 
!pip install -U scikit-learn

Zainstaluje wymagane pakiety, które również pojawią się w conda list, ale jeśli spróbujesz zaimportować ten pakiet, nie zadziała.

Na stronie http://Installing%20scikit-learn jest on wymieniony jako: Ostrzeżenie Aby zaktualizować lub odinstalować scikit-learn zainstalowany z Anacondą lub conda, nie powinieneś używać pip.

Pracował dla mnie dla scikit-learn na Anaconda-Jupyter Notebook.

Aktualizacja mojego scikit-learn z 0.19.1 do 0.19.2 w anakondzie zainstalowanej na Ubuntu na instancji Google VM:

Uruchom w terminalu następujące polecenia:

Najpierw sprawdź istniejące dostępne pakiety z wersjami za pomocą:

conda list    

W wyniku pokaże różne pakiety i ich zainstalowane wersje. Tutaj sprawdź scikit-learning. np. dla mnie wynik był:

scikit-learn              0.19.1           py36hedc7406_0  

Teraz chcę uaktualnić do wersji 0.19.2 Lipiec 2018, czyli najnowszej dostępnej wersji.

conda config --append channels conda-forge
conda install scikit-learn=0.19.2

Teraz sprawdź, czy wymagana wersja scikit-learn jest zainstalowana poprawnie lub nie, używając:

conda list 

Dla mnie wynik był:

scikit-learn              0.19.2          py36_blas_openblasha84fab4_201  [blas_openblas]  conda-forge
person Yogesh    schedule 01.08.2018