我无法安装mlrose软件包

时间:2019-11-13 14:47:24

标签: python machine-learning scikit-learn pip

每当我点点安装mlrose时,就会显示以下错误。我是机器学习的新手,所以详细的解释将不胜感激。

Microsoft Windows [版本10.0.17134.1069] (c)2018年微软公司。保留所有权利。

C:\ Users \ admin> pip安装mlrose

avatar.png

我该怎么办?

1 个答案:

答案 0 :(得分:1)

您的错误提示:

Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/

这说明您需要在计算机上安装Microsoft Visual C++ 14.0才能安装模块。它是编译Windows平台的c / cpp源代码的标准工具链。如果您尝试从源代码安装python模块,而该模块中有一些用c / cpp编写的部分需要提高速度,则需要这样做。

从源代码获取适用于复杂模块的安装可能会很麻烦,尤其是在Windows上,但是幸运的是,您具有选项:


通常,许多知名的软件包都提供whl文件,这些文件是模块的预编译版本,可以很容易地安装而无需在计算机上编译任何东西。就您而言,从输出中可以看到,mlrose实际上是作为whl文件下载的。

Using cached https://files.pythonhosted.org/packages/0d/f8/79e77a40f6e8988e3ecc9ead8a28024ee43df9c99fce2209037c9e6f9e4a/mlrose-1.3.0-py3-none-any.whl

但是,scikit-learn(作为依赖项)已下载为源代码,而不是whl文件:

Using cached https://files.pythonhosted.org/packages/1e/ce/9d8c88e68af0a5b5c5d78d8d2b7bcadfd45e1d6afc863ccb9aee30765b06/scikit-learn-0.21.3.tar.gz

在编译期间,会弹出错误消息,提示您未安装必需的编译器。如果您检查pypi page,则可以看到在您的python版本(python 3.8)中没有可用的whl文件,它们仅上升到cp37(= python 3.7)。

Python 3.8相当新,因此并不总是有官方的预构建的whl文件。现在您可以:

  1. 卸载python 3.8,然后安装python 3.7,因为这样做更有可能在pypi上安装正式的whl文件
  2. 使用来自非官方来源的this one
  3. 文件
  4. 使用anaconda卸载python 3.8并安装python 3.7,其中预安装了许多软件包
  5. 安装Microsoft Visual Build Tools并尝试自己编译相关的库

我的建议是与#3一起使用,如果您只是想让安装程序运行得更快并且尽可能省心,并且不在乎是否安装了python 3.7或python 3.8