【问题标题】:Installation always stuck on PyCaret 2.2.2 + Package problems安装总是卡在 PyCaret 2.2.2 + 包问题上
【发布时间】:2022-11-11 08:39:09
【问题描述】:

我被困在一个我似乎无法解决的问题上。我在另一台 PC 上使用 PyCaret 很好,最近有了一个新桌面。

我在旧 PC 上处理一个数据集,setup() 没有问题,PyCaret 对我的数据进行了预处理,没有任何问题。当我在我的相同的数据集在我的新桌面和新安装的 Jupyter 之后,我注意到我遇到了一个 ValueError: Setting a random_state has no effect since shuffle is False. You should leave random_state to its default (None), or set shuffle=True.,我觉得这很奇怪,但继续设置 fold_shuffle=True 来解决这个问题。

接下来,我遇到了AttributeError: 'Simple_Imputer' object has no attribute 'fill_value_categorical'。看来我在 setup() 的每一步都失败了。我浏览了论坛并找到了thread,在它的底部,@eddygeek 提到如果 sklearn 版本错误,PyCaret 设置为失败。这让我研究了我拥有的可能满足包之间依赖关系的包。

我注意到以下问题:

  1. 我收到几个错误: ERROR: Command errored out with exit status 1: C:\Users\%%USER%%\anaconda3\python.exe' Ignoring numpy: markers 'python_version >= "3.8" and platform_system == "AIX"' don't match your environment ERROR: Could not find a version that satisfies the requirement scikit-learn==0.23.2 Screenshot of more errors attached

  2. 由于Pandas Profiling Import Error: cannot import name 'soft_unicode' from 'markupsafe',Jupyter Notebook 无法启动。我通过安装 markupsafe===2.0.1 解决了这个问题,但这会导致 pandas-profiling 3.2.0 发出不兼容警告,说它需要 markupsafe 2.1.1

  3. PyCaret 不断安装为 2.2.2 版本。我认为这就是为什么当最新的 PyCaret 2.3.10 与 scikit-learn >=1.0 一起工作时它一直在寻找 scikit-learn 0.23.2。我已经尝试多次卸载并重新安装 PyCaret,但它仍然是一样的。

    我做了什么

    我在与 Anaconda3 一起安装的 Python 3.9.12 上。我的 PyCaret 在 Anaconda Prompt 上安装了 pip install pycaret[full] --user

    在我的pip list 中,我有:

    • scikit-learn 1.1.2
    • 标记安全 2.1.1
    • pandas-profiling 3.2.0
    • pycaret 2.2.2

    我已将 C:\Users\%%USER%%\AppData\Roaming\Python\Python39\Scripts 添加到 PATH

    我真的无能为力,所以我希望我能得到一些建议。谢谢你。

【问题讨论】:

  • 在遵循您的步骤 2 个月后,我遇到了同样的问题。 scikit-learn 1.1.3, pycaret 2.2.2 我的数据框没有时间特征。

标签: python scikit-learn anaconda jupyter pycaret


【解决方案1】:

我遇到了同样的问题并解决如下。

根据documentation,您的设置存在一些问题:

  1. PyCaret 尚不兼容 sklearn>=0.23.2

  2. PyCaret 在以下 64 位系统上经过测试和支持:

    蟒蛇 3.6 - 3.8 仅适用于 Ubuntu 的 Python 3.9

    所以如果你在 Windows 上使用 python 3.9,我会从那开始。

    我进入了一个降级软件包的兔子洞,一个接一个地出现错误。

    长话短说,最终奏效的设置是:

    sklearn 0.23.1
    scipy 1.5.2
    

    两者都安装在虚拟 conda 环境但最后我不得不跑:

    pip3 install pycaret[full]
    

    注意pip3 而不是pip,因为我遇到了权限错误。

【讨论】: