Não é possível instalar o scikit-learn no Python 3.4 no Ubuntu 14.04

7

Estou tentando obter o scikit-learn para o Python 3.4 no Ubuntu 14.04. Quando executar o comando:

sudo pip3 install -U scikit-learn

Eu recebo o scikit-learn carregado no Python 2.7. Eu também tentei usar:

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

mas eu só recebo o scikit-learn no Python 2.7. Eu posso carregar numpy e scipy no Python 3 usando:

apt-get install python3-numpy python3-scipy

mas o python3-sklearn não funciona.

Eu também tentei criar um p3env mas não funcionou:

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
    
por user963386 19.10.2014 / 12:09

2 respostas

14

Instalei com sucesso scikit-learn para python3 em 14.04 usando as seguintes etapas:

  • 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

De acordo com o documento oficial , certifique-se de que o ATLAS seja usado para fornecer a implementação do BLAS e do LAPACK rotinas de álgebra linear:

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

Agora posso usar 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
>>> 
    
por Sylvain Pineau 19.10.2014 / 16:44
1

Em geral, muitos pacotes Python que não têm implementações python3 explícitas no gerenciador de pacotes ( aka , python-numpy , python3-numpy ) são compatíveis com Python3 e podem ser instalados fazendo o download do pacote e executando:

python3 setup.py install

Em outras palavras, o script de configuração de python3 .

Muitos dos pacotes que não são compatíveis imediatamente exigem apenas algumas alterações comuns, por exemplo print/print() , xrange()/range() , range()/list(range()) , zip()/list(zip()) .

Provavelmente você também pode usar o processo de instalação padrão e copiar as bibliotecas das pastas "dist-packages" do python2x para as pastas "dist-packages" do python3x, mas isso é um pouco malfeito.

    
por Mark Yoder 13.01.2016 / 22:23

Tags