如何使用Conda安装scikit-multilearn

4
为了安装scikit-multilearn,我尝试了以下命令,但没有成功:
conda install scikit-multilearn

或者,
conda install -c condo-forge scikit-multilearn

scikit-multilearn的官方网站建议使用pip进行安装:

pip install scikit-multilearn

当我在Anaconda仓库中找不到Python软件包时,我应该如何安装它?如果我的默认软件包管理器是conda,偶尔使用pip是否可以?


通常情况下,您应该尽可能使用conda,即使是从不同的渠道(特别是像conda-forge这样得到良好支持的渠道)。请参见此处:https://dev59.com/8VcO5IYBdhLWcg3wXwd3#45919845,其中提供了一个原因(免责声明,那是我的答案)。 - darthbith
5个回答

4

你可以使用conda和pip一起使用。这两个工具是兼容的。你需要知道的是,并非所有的包都在conda上,有的包只能在pip上找到。如果你运行conda env export > environment.yml,你会看到conda和pip混合使用的环境。


回复:“它被设计为这样工作” -> 不一定,可以看这里:https://dev59.com/8VcO5IYBdhLWcg3wXwd3#45919845(免责声明,那是我的答案) - darthbith
@darthbith 这句话只是为了说明pip也能够与conda一起使用,但你的评论是正确的:) - Dat Tran

4

我最终使用pip安装了scikit-multilearn:

pip install scikit-multilearn

然而,当我尝试导入它时,出现了以下导入错误:

ImportError: No module named builtins

为了解决这个问题,我升级了future包:

$pip install future --upgrade

然后,我成功地导入了scikit-multilearn。


2
提到的命令

conda install scikit-multilearn

如果已经安装了Anaconda,那么这个命令是正确的并且会成功执行。

我已经安装并更新了Anaconda。但正如我上面提到的,最终我不得不升级future包。我真的不确定为什么需要这样做。 - Sahar
skmultilearn目前在Condo上还不可用。请参考@Edwin的回答,该方法已经被证明有效。 - abdoulsn

2

你可以通过使用PIP在Conda环境中有效地安装scikit-multilearn来完成这个任务。

import sys

! {sys.executable} -m pip install scikit-multilearn

! {sys.executable} -m pip install liac-arff

我在Anaconda的Jupyter Notebook中安装并测试了它。


这对我很有帮助。谢谢。 - abdoulsn
我现在无法编辑评论,但请注意arff是错误的包,skmultilearn需要liac-arff。 - C. S.

1
当我在Anaconda仓库中找不到Python包时,该如何安装它?
pip install <package-name>

如果我的默认包管理器是conda,偶尔使用pip会有问题吗?

不会有问题。当你使用import时,无论是conda还是pip安装的包都能被找到。

如果你想将一个包安装到根环境中以便日后使用或用于多个项目,则需要这样做。这样可以随时导入该包。 如果你只是为了一个特定的项目而使用它,并且可能只用一次,请创建一个新的虚拟环境,在该环境中安装所需的包并在其中运行代码。

创建虚拟环境:链接


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接