web-dev-qa-db-fra.com

Impossible d'installer scikit-learn dans Python 3.4 dans Ubuntu 14.04

J'essaie d'obtenir scikit-learn to Python 3.4 dans Ubuntu 14.04. Quand exécuter la commande:

Sudo pip3 install -U scikit-learn

Scikit-learn est chargé dans Python 2.7. J'ai aussi essayé d'utiliser:

Sudo pip3 install git+https://github.com/scikit-learn/scikit-learn.git

mais je n'ai que scikit-learn dans Python 2.7. Je peux charger numpy et scipy dans Python 3 en utilisant:

apt-get install python3-numpy python3-scipy

mais python3-sklearn ne fonctionne pas.

J'ai aussi essayé de créer un p3env mais cela n'a pas fonctionné:

Sudo virtualenv -p /usr/bin/python3 py3env
source py3env/bin/activate
(py3env)user:~$Sudo pip install scikit-learn
Requiement already up-to-date:scikit-learn in /usr/local/lib/python2.7/dist-packages
7
user963386

J'ai installé avec succès scikit-learn for python3 le 14.04 en procédant comme suit:

  • Sudo apt-get install build-essential python3-dev python3-setuptools python3-numpy python3-scipy python3-pip libatlas-dev libatlas3gf-base
  • Sudo pip3 install scikit-learn

Selon le document officiel , assurez-vous qu'ATLAS est utilisé pour assurer la mise en oeuvre des routines d'algèbre linéaire BLAS et LAPACK:

Sudo update-alternatives --set libblas.so.3 \
    /usr/lib/atlas-base/atlas/libblas.so.3
Sudo update-alternatives --set liblapack.so.3 \
    /usr/lib/atlas-base/atlas/liblapack.so.3

Je peux maintenant utiliser scikit-learn:

$ python3
Python 3.4.0 (default, Apr 11 2014, 13:05:11) 
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from sklearn import datasets
>>> 
15
Sylvain Pineau

En général, de nombreux packages Python n'ayant pas d'implémentations explicites python3 dans le gestionnaire de packages (aka, python-numpy, python3-numpy) sont compatibles Python3 et peuvent être installés en téléchargeant le package et en exécutant:

python3 setup.py install

En d'autres termes, le script d'installation de python3.

De nombreux packages qui ne sont pas immédiatement compatibles ne nécessitent que quelques modifications courantes, par exemple print/print(), xrange()/range(), range()/list(range()), Zip()/list(Zip()).

Vous pouvez probablement également utiliser le processus d'installation standard, puis copier les bibliothèques des dossiers "dist-packages" de python2x vers les dossiers "dist-packages" de python3x, mais c'est un peu bâclé.

1
Mark Yoder