Scikit-learn构建不正确

2024-06-16 13:02:09 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我第一次尝试在任何系统上安装python。在

我遵循以下指南: http://scikit-learn.org/stable/developers/advanced_installation.html

并安装了所有生成依赖项。然后我使用pip安装: pip安装scikit学习

我在安装pip时没有错误。在

当我试图运行我的预测程序时,这个程序在cloud9上的环境中运行得很好,我得到了以下错误:

root@ubuntu-512mb-sfo1-01-PredictionAPI:~/api-for-ml-requests/api# Traceback (most recent call last):
    from sklearn.feature_extraction.text import CountVectorizer
  File "/usr/local/lib/python2.7/dist-packages/sklearn/__init__.py", line 56, in <module>
    from . import __check_build
  File "/usr/local/lib/python2.7/dist-packages/sklearn/__check_build/__init__.py", line 46, in <module>
    raise_build_error(e)
  File "/usr/local/lib/python2.7/dist-packages/sklearn/__check_build/__init__.py", line 41, in raise_build_error
-bash: syntax error near unexpected token `most'
root@ubuntu-512mb-sfo1-01-PredictionAPI:~/api-for-ml-requests/api#   File "Backend-Rest-Alpha.1.py", line 9, in <module>
-bash: syntax error near unexpected token `newline'
root@ubuntu-512mb-sfo1-01-PredictionAPI:~/api-for-ml-requests/api#     from backend.Predictions import predict
from: can't read /var/mail/backend.Predictions
root@ubuntu-512mb-sfo1-01-PredictionAPI:~/api-for-ml-requests/api#   File "/root/api-for-ml-requests/api/backend/Predictions.py", line 1, in <module>
-bash: syntax error near unexpected token `newline'
root@ubuntu-512mb-sfo1-01-PredictionAPI:~/api-for-ml-requests/api#     from sklearn.feature_extraction.text import CountVectorizer
from: can't read /var/mail/sklearn.feature_extraction.text
root@ubuntu-512mb-sfo1-01-PredictionAPI:~/api-for-ml-requests/api#   File "/usr/local/lib/python2.7/dist-packages/sklearn/__init__.py", line 56, in <module>
-bash: syntax error near unexpected token `newline'
root@ubuntu-512mb-sfo1-01-PredictionAPI:~/api-for-ml-requests/api#     from . import __check_build
root@ubuntu-512mb-sfo1-01-PredictionAPI:~/api-for-ml-requests/api#   File "/usr/local/lib/python2.7/dist-packages/sklearn/__check_build/__init__.py", line 46, in <module>
-bash: syntax error near unexpected token `newline'
root@ubuntu-512mb-sfo1-01-PredictionAPI:~/api-for-ml-requests/api#     raise_build_error(e)
-bash: syntax error near unexpected token `e'
root@ubuntu-512mb-sfo1-01-PredictionAPI:~/api-for-ml-requests/api#   File "/usr/local/lib/python2.7/dist-packages/sklearn/__check_build/__init__.py", line 41, in raise_build_error
    %s""" % (e, local_dir, ''.join(dir_content).strip(), msg))
ImportError: /usr/local/lib/python2.7/dist-packages/sklearn/__check_build/_check_build.so: undefined symbol: PyUnicodeUCS4_DecodeUTF8
___________________________________________________________________________
Contents of /usr/local/lib/python2.7/dist-packages/sklearn/__check_build:
__init__.py               setup.py                  setup.pyc
_check_build.so           __init__.pyc
___________________________________________________________________________
It seems that scikit-learn has not been built correctly.

有人知道是什么原因造成的吗?在


Tags: pybuildapiforubuntulocalcheckerror
2条回答

由于您是新手,我建议您安装https://www.continuum.io/downloads#linux 它将解决您的问题,因为它包含scikitlearn和python以及所有依赖项,以及python中用于各种任务的长列表库。另外,我建议您使用PyCharm Community Edition作为IDE,您可以轻松地添加所需的任何类型的库,而不必担心。 https://www.jetbrains.com/pycharm/

您的模块似乎是在使用USC4编码的python上构建的,而python使用的是USC2。在

从pythondocumentation

Python was built using 2-byte Unicode characters, and the extension module was compiled using a Python with 4-byte Unicode characters.

This can easily occur when using pre-built extension packages.

The only way to solve this problem is to use extension modules compiled with a Python binary built using the same size for Unicode characters.

您应该尝试从源代码安装包。{scipy是为你提供的一个关于如何学习的链接。如果你不使用mac,页面右上角菜单上的链接也会显示windows和linux的指南。在

相关问题 更多 >