Python3.7 安装 scikit-learn

在安装scikit-learn时遇到错误,尝试多次安装卸载仍无法解决。通过源码编译安装scikit-learn,过程中需要安装Microsoft Visual C++ 14.0和.NET Framework 4.5以上版本。最后按numpy、scipy、scikit-learn顺序重新安装,问题得到解决。

安装scilit-learn后出现以下问题:

sklearn报错解决 ImportError: DLL load failed: 找不到指定的模块

通过无数的的安装卸载scikit-learn、numpy、scipy还是无法解决问题

pip uninstall scikit-learn
pip uninstall numpy
pip uninstall scipy

以下通过scikit-learn 源码编译安装:

pip3 install cython

安装sklearn:

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

安装出现以下问题

    copying sklearn\tests\test_kernel_ridge.py -> build\lib.win-amd64-3.7\sklearn\tests
    copying sklearn\tests\test_metaestimators.py -> build\lib.win-amd64-3.7\sklearn\tests
    copying sklearn\tests\test_multiclass.py -> build\lib.win-amd64-3.7\sklearn\tests
    copying sklearn\tests\test_multioutput.py -> build\lib.win-amd64-3.7\sklearn\tests
    copying sklearn\tests\test_naive_bayes.py -> build\lib.win-amd64-3.7\sklearn\tests
    copying sklearn\tests\test_pipeline.py -> build\lib.win-amd64-3.7\sklearn\tests
    copying sklearn\tests\test_random_projection.py -> build\lib.win-amd64-3.7\sklearn\tests
    copying sklearn\tests\test_site_joblib.py -> build\lib.win-amd64-3.7\sklearn\tests
    copying sklearn\tests\__init__.py -> build\lib.win-amd64-3.7\sklearn\tests
    running build_clib
    No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
    customize MSVCCompiler
    Missing compiler_cxx fix for MSVCCompiler
    customize MSVCCompiler using build_clib
    building 'libsvm-skl' library
    compiling C sources
    error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/

    ----------------------------------------
Command "d:\apps\python37\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\WEILON~1.ZHA\\AppData\\Local\\Temp\\pip-req-build-41pat1r3\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\WEILON~1.ZHA\AppData\Local\Temp\pip-record-8hjugntu\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\WEILON~1.ZHA\AppData\Local\Temp\pip-req-build-41pat1r3\

出现以上问题,error: Microsoft Visual C++ 14.0 is required

  1. 安装 Microsoft visual c++ 14.0
https://964279924.ctfile.com/fs/1445568-239446865  
  1. 如果出现了.Net framework版本过低,小于4.5的最低版本要求:重新安装 .Net framework 更高的版本,然后在安装 Microsoft visual c++ 14.0
https://support.microsoft.com/en-us/help/3151800/the-net-framework-4-6-2-offline-installer-for-windows

安装成功后import 出现以下问题:

>>> from sklearn.preprocessing import LabelEncoder, OneHotEnco
D:\apps\python37\lib\site-packages\sklearn\externals\joblib\externals\cloudpickle\cloudpickle.py:47: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name 'OneHotEnco' from 'sklearn.preprocessing' (D:\apps\python37\lib\site-packages\sklearn\preprocessing\__init__.py)

然后将之前安装的scikit-learn、numpy、scipy 重新卸载了,按照numpy、scipy 、scikit-learn的顺序安装,问题解决!

### 解决Python中无法成功安装scikit-learn的问题 在解决Python中无法成功安装scikit-learn的问题时,需要考虑多个方面的原因,包括环境配置、依赖项问题以及安装方法的选择。以下是详细的分析和解决方案: #### 1. 环境检查 确保Python环境正确配置。Scikit-learn依赖于NumPy和SciPy等库,因此必须先安装这些库[^2]。如果使用的是虚拟环境,请激活对应的虚拟环境后再进行安装。 #### 2. 使用pip安装 推荐使用pip工具来安装scikit-learn,这是最常见且稳定的方式。执行以下命令: ```bash pip install scikit-learn ``` 如果遇到权限问题,可以尝试添加`--user`参数以用户模式安装: ```bash pip install --user scikit-learn ``` #### 3. 检查Python版本 确保使用的Python版本与scikit-learn兼容。通常,scikit-learn支持Python 3.7及以上版本。如果版本过低,可能会导致安装失败。可以通过以下命令检查Python版本: ```bash python --version ``` #### 4. 更新pip工具 有时安装失败可能是由于pip版本过旧。更新pip到最新版本后重试: ```bash pip install --upgrade pip ``` #### 5. 使用conda安装 如果pip安装仍然失败,可以尝试使用Anaconda的包管理工具conda进行安装。首先确保已安装Anaconda或Miniconda,然后运行以下命令: ```bash conda install scikit-learn ``` #### 6. 清理旧版本 如果之前尝试安装但未成功,可能存在残留文件干扰。删除相关文件夹后重新安装可能解决问题[^4]。具体操作如下: - 删除`Lib/site-packages`下的`scikit-learn`相关文件夹。 - 清理缓存并重新安装: ```bash pip uninstall scikit-learn pip install scikit-learn ``` #### 7. 检查系统依赖项 某些情况下,安装失败可能与系统级依赖项有关。例如,在Linux系统上,可能需要安装开发工具链(如`gcc`)和数学库(如`BLAS`和`LAPACK`)。可以通过以下命令安装必要的依赖项(以Ubuntu为例): ```bash sudo apt-get update sudo apt-get install build-essential libatlas-base-dev gfortran ``` #### 8. 验证安装 安装完成后,验证scikit-learn是否正常工作。在Python环境中运行以下代码: ```python import sklearn print(sklearn.__version__) ``` 如果能够成功输出版本号,则表示安装成功。 --- ### 示例代码 以下是一个简单的示例,展示如何导入scikit-learn并使用线性回归模型[^1]: ```python from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error import numpy as np # 生成随机数据 X = np.random.rand(100, 1) y = 3 * X.squeeze() + 2 + np.random.randn(100) * 0.5 # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 创建并训练模型 model = LinearRegression() model.fit(X_train, y_train) # 预测并计算误差 y_pred = model.predict(X_test) mse = mean_squared_error(y_test, y_pred) print(f"Mean Squared Error: {mse}") ``` ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值