Ошибка установки scikit-learn python3

Так что я смог установить sklearn для python2, но по какой-то причине у меня возникли проблемы с тем же для python3. Я получаю эту ошибку:

Traceback (most recent call last):
  File "/home/ajshack_pg/sklearn/__check_build/__init__.py", line 44, in <module>
    from ._check_build import check_build  # noqa
ImportError: /home/ajshack_pg/sklearn/__check_build/_check_build.so: undefined symbol: PyUnicodeUCS4_DecodeUTF8

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/ajshack_pg/sklearn/__init__.py", line 133, in <module>
    from . import __check_build
  File "/home/ajshack_pg/sklearn/__check_build/__init__.py", line 46, in <module>
    raise_build_error(e)
  File "/home/ajshack_pg/sklearn/__check_build/__init__.py", line 41, in raise_build_error
    %s""" % (e, local_dir, ''.join(dir_content).strip(), msg))
ImportError: /home/ajshack_pg/sklearn/__check_build/_check_build.so: undefined symbol: PyUnicodeUCS4_DecodeUTF8
___________________________________________________________________________
Contents of /home/ajshack_pg/sklearn/__check_build:
setup.py                  setup.pyc                 __init__.pyc
_check_build.so           __init__.py
___________________________________________________________________________
It seems that scikit-learn has not been built correctly.

If you have installed scikit-learn from source, please do not forget
to build the package before using it: run `python setup.py install` or
`make` in the source directory.

If you have used an installer, please check that it is suited for your
Python version, your operating system and your platform.

Я попытался зайти в исходный каталог и ввести то, что они говорят, безрезультатно. Любое понимание здесь?

Спасибо!

1 ответ

Если вы установили sklearn из исходного кода для Python 2.x, некоторые из его двоичных файлов могли сохраниться, если вы не полностью удалили все файлы sklearn. Python 2.x и 3.x совершенно несовместимы друг с другом, поэтому это может быть причиной, по которой он не может быть собран.

Несколько шагов:

  1. Подумайте об использовании virtualenv для ваших проектов sklearn, особенно если у вас много разных пакетов или версий Python. Он отлично подходит для изоляции различных сред разработки с различными пакетами и библиотеками Python. Следуйте этому руководству, если у вас его еще нет. При создании virtualenv обязательно установите его с Python 3.x, используя эту команду при создании virtualenv:

    virtualenv -p python3 envname

  2. При сборке из исходного кода: заново загрузите исходный код sklearn для вашей версии Python 3 и поместите его в файл virtualenv. Внимательно следуйте всем инструкциям по сборке. Надеюсь, это даст вам чистую установку sklearn.

  3. При установке с помощью pip: активируйте вашу virtualenv, а затем:pip install -U scikit-learn после установки numpy а также scipy,

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