安装了scikit之后--学习如何使用pip install -U scikit-learn,我得到以下信息
Requirement already satisfied: joblib>=1.0.0 in /usr/local/lib/python3.9/dist-packages (from scikit-learn) (1.2.0)
Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.9/dist-packages (from scikit-learn) (3.1.0)
Requirement already satisfied: scipy>=1.3.2 in /usr/local/lib/python3.9/dist-packages (from scikit-learn) (1.9.3)
Requirement already satisfied: numpy>=1.17.3 in /usr/lib/python3/dist-packages (from scikit-learn) (1.19.5)
Installing collected packages: scikit-learn
Successfully installed scikit-learn-1.1.2但是,当我试图导入它时,没有任何其他代码,我会得到以下错误
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
Cell In [1], line 1
----> 1 import sklearn
ImportError: /usr/local/lib/python3.9/dist-packages/scipy/optimize/_highs/_highs_wrapper.cpython-39-arm-linux-gnueabihf.so: undefined symbol: __atomic_compare_exchange_8我试过几次重新安装它,但都没有用
发布于 2022-12-02 12:55:26
一个可能的答案/解决方法是启动带有命令前缀的python来加载这个库。
LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1.2.0 python或者将其作为环境变量添加到~/..bashrc文件或其他适当的位置。
export LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1.2.0然后你可以再试一次
unset LD_PRELOAD短背景:
我已经在Raspberry pi 3B+和Raspberry pi 4上安装了Python3.11.0(现在非常新)。
许多库需要编译到位,对于一些库,我已经下载了源代码,并从存储库编译了最新的或特定的标记。
我以为我安装正确,因为它是导入的,好的,但当我到科学-学习,我有同样的问题在这个问题。回到枕木,我发现它的某些部分在进口时会崩溃。我返回并卸载了was,设置了这个变量,然后我从存储库中安装了was,按照他们的站点上的指南安装了一些先决条件,然后基本安装如下
cd ~/github
git clone https://github.com/scipy/scipy.git scipy
cd scipy
git checkout v1.9.3
git submodule update --init
LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1.2.0 python -m pip install .在完成这个学习之后,即使我没有重新安装它,也可以正确地加载。
当然,结果可能会有所不同。加载Python的新版本并安装这些高级和复杂的库是非常困难的。
https://stackoverflow.com/questions/74168121
复制相似问题