【发布时间】:2021-08-16 14:48:00
【问题描述】:
每当我尝试运行一个程序时,前 8 行在哪里
import pandas as pd
import numpy as np
import keras
import sklearn
from math import sqrt
from matplotlib import pyplot
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
我收到了回复It seems that scikit-learn has not been built correctly.
但是手动(一个接一个)运行它似乎可以工作
Python 3.6.9 (default, Jan 26 2021, 15:33:00)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sklearn
>>> from sklearn.metrics import mean_squared_error
>>> from sklearn.model_selection import train_test_split
>>> from math import sqrt
>>> from matplotlib import pyplot
>>> import pandas
>>> import numpy
>>> import keras
2021-05-28 12:38:06.355731: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.10.2
>>> exit()
为什么会发生这种情况,我该如何解决?我已经尝试重新安装每个软件包(也在不同的版本上)
编辑:我错过了添加信息,这是在 Jetson Nano 上运行的,所以操作系统是 Linux,编译器是默认的(程序通过 SSH 运行)。使用python3 -VV 时,它会响应Python 3.6.9 (default, Jan 26 2021, 15:33:00) [GCC 8.4.0],而且我没有使用虚拟环境,也没有使用pip3 以外的其他包管理器。已使用命令sudo pip3 install scikit-learn 安装了 Sci-kit learn
安装日志:
sudo pip3 install scikit-learn Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Collecting scikit-learn
Downloading scikit_learn-0.24.2-cp36-cp36m-manylinux2014_aarch64.whl (24.0 MB)
|████████████████████████████████| 24.0 MB 20.5 MB/s
Requirement already satisfied: threadpoolctl>=2.0.0 in /home/nano/.local/lib/python3.6/site-packages (from scikit-learn) (2.1.0)
Requirement already satisfied: joblib>=0.11 in /home/nano/.local/lib/python3.6/site-packages (from scikit-learn) (1.0.1)
Requirement already satisfied: numpy>=1.13.3 in /home/nano/.local/lib/python3.6/site-packages (from scikit-learn) (1.19.0)
Requirement already satisfied: scipy>=0.19.1 in /home/nano/.local/lib/python3.6/site-packages (from scikit-learn) (1.5.4)
Installing collected packages: scikit-learn
Successfully installed scikit-learn-0.24.2
完整的错误信息:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/sklearn/__check_build/__init__.py", line 44, in <module>
from ._check_build import check_build # noqa
ImportError: /usr/local/lib/python3.6/dist-packages/sklearn/__check_build/../../scikit_learn.libs/libgomp-d22c30c5.so.1.0.0: cannot allocate memory in static TLS block
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "LSTMMVMSTSF.py", line 4, in <module>
import sklearn
File "/usr/local/lib/python3.6/dist-packages/sklearn/__init__.py", line 81, in <module>
from . import __check_build # noqa: F401
File "/usr/local/lib/python3.6/dist-packages/sklearn/__check_build/__init__.py", line 46, in <module>
raise_build_error(e)
File "/usr/local/lib/python3.6/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/python3.6/dist-packages/sklearn/__check_build/../../scikit_learn.libs/libgomp-d22c30c5.so.1.0.0: cannot allocate memory in static TLS block
___________________________________________________________________________
Contents of /usr/local/lib/python3.6/dist-packages/sklearn/__check_build:
__init__.py _check_build.cpython-36m-aarch64-linux-gnu.so__pycache__
setup.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.
【问题讨论】:
-
请提供有关您系统的更多信息。你的操作系统是什么?您使用的是虚拟环境还是 pip 以外的其他包管理器?你是如何安装 scikit-learn 包的?发布您从安装包中获得的日志记录。
-
@DiegoPalacios 我已经编辑了问题,感谢您让我注意到
-
运行脚本时的完整错误是什么?您是否从可能与 sklearn 名称冲突的地方运行它?
-
@CJR 我已经用完整的错误消息更新了这个问题。它不应该有任何碰撞。它在机器的桌面和文件夹内运行,没有其他文件在其名称中包含任何与 sklearn 相关的内容,甚至是其内容
-
@CJR 非常感谢!该链接帮助我弄清楚了。问题实际上只是进口的顺序。现在我将其更改为先导入 sklearn 并且它可以工作。如果您将其发布为答案,我很乐意接受。
标签: python numpy scikit-learn sklearn-pandas