无法在 Macos 错误上安装 Scikit Learn 包 [重复]

Posted

技术标签:

【中文标题】无法在 Macos 错误上安装 Scikit Learn 包 [重复]【英文标题】:Cannot Install Sci-Kit Learn Package on Mac OSX Error [duplicate] 【发布时间】:2018-09-27 14:13:50 【问题描述】:

我正在运行最新的 Python 版本 3.6.4。

我通过https://pip.pypa.io/en/stable/installing/ 的这些说明安装 pip

要安装 pip,请安全下载 get-pip.py。 [1]:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

检查 get-pip.py 是否有任何恶意。然后运行以下命令:

python get-pip.py

pip install -U pip

最后,当我开始安装 SciKit Learn 时,我遇到了:

pip install -U scikit-learn

收集 scikit-learn 无法获取 URL https://pypi.python.org/simple/scikit-learn/:确认 ssl 证书时出现问题:[SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 警报协议版本 (_ssl.c:590) - 跳过

找不到满足 scikit-learn 要求的版本(来自版本:) 找不到与 scikit-learn 匹配的分布

我在 stackover 上找不到任何专门解决我的问题的内容,并尝试了一些建议的解决方案但没有成功。 (即 pip 卸载 scikit-learn,sudo pip install scikit-learn)

我真的很困惑为什么我不能安装 scikit learn 包。我想开始使用它。谁能帮我吗?

【问题讨论】:

【参考方案1】:

很可能,这是证书的临时问题。我刚刚加载了它(使用带有 pip 10.0.0 的 3.6.5 虚拟环境)并且没有任何问题。我还将https://pypi.python.org/simple/scikit-learn/ 加载到 Opera 中,证书现在绝对有效。

我还建议使用 virtualenv (https://virtualenv.pypa.io/en/stable/)。它避免了一些令人沮丧的问题,例如 pip 指向 2.7 版本而不是 pip3。

【讨论】:

我仍然有这个问题。我应该卸载 Python 并重新安装它吗?我可以在不使用虚拟环境作为额外步骤的情况下让它工作吗? virtualenv 绝对是可选的,它只是在 OSX /Libraries 中安装了多个 Python 时消除了一些可能的情况,并且如果您有多个活动的 Python 项目进行,它还可以管理依赖项。如果您安装了 2.7 和 3.6,您可以运行 pip --version 并确保您使用的是正确的版本,或者只是始终使用 pip3 来确定。 当我从 /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages (python 2.7) 运行 pip 8.1.1 时,它说: > pip 8.1.1来自 /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages (python 2.7) 但我删除了 Python 2.7 并安装了 Python 3.6.4 (最新版本),所以我应该只有那个。为什么它说我有 Python 2.7 以及如何完全删除它? MAC 上的 Python 遵循 Apple 的规则。这就是为什么我真的更喜欢 virtualenv 路径。一个你在汤里,唯一真正的答案是删除所有 Python 并重新开始遵循 MAC 指南。 docs.python-guide.org/en/latest

以上是关于无法在 Macos 错误上安装 Scikit Learn 包 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

无法在终端 macOS 10.15.7 上安装 cocoapods

无法在 Windows 中的 python 2.7.9 上安装 scikit-earn?

无法在 MacOS 上安装 Colorls

MacOS:配置:错误:C 编译器无法创建可执行文件

Xcode 无法安装在“macOS Sierra”上,因为需要 macOS 版本 10.14.3 或更高版本

无法安装 scikit-learn