如何在 conda 环境中安装 libsvm,以便可以在 anaconda 中导入 svm?
Posted
技术标签:
【中文标题】如何在 conda 环境中安装 libsvm,以便可以在 anaconda 中导入 svm?【英文标题】:How do I install libsvm in a conda environment so that I can import svm in anaconda? 【发布时间】:2017-08-25 23:08:36 【问题描述】:我尝试使用 conda 和 pip 命令安装 libsvm。 pip 命令没有为 conda 环境安装 libsvm,当我使用命令为 conda 环境安装它时 - 'conda install -c conda-forge libsvm=3.21' (在各个站点上推荐)我仍然无法在我的程序。 它显示错误 - 'ImportError: No module named svm'
In conda list libsvm is shown as follows maybe it has to do something with vc9_1 build instead py27_0/py27_1/py27_21
附:我正在使用 python 2.7
【问题讨论】:
libsvm 是一个 C 库,而不是 Python 包,因此您无法以这种方式从 Python 导入它。您是否有兴趣使用特定的 Python 包装器来使用 libsvm? 我想实现 SVM 分类器,因为我引用的代码已导入 svm 并仅在 python 中使用它的所有功能。 如果你想用 Python 做 SVM,你可以试试 scikit-learn 的 SVM 分类器,它封装了 libsvm:scikit-learn.org/stable/modules/svm.html @jakevdp 我想使用 libsvm,因为我的团队正在使用该库,并且在他们的系统中它运行良好。 好的——但 libsvm 还是一个 C 库,而不是 Python 包。如果你想从 Python 中使用 libsvm,你需要一些 Python 包或脚本来包装 libsvm C 接口。如果有人告诉您“导入 svm”,那是指您需要安装的特定 Python 包或模块,您应该询问您的团队该 Python 包是什么。 【参考方案1】:来自 conda-forge 频道的 libsvm 包仅提供共享库,而不提供 python 绑定。如果您想要两者,我建议您执行以下操作:
conda remove libsvm
conda install pip
访问http://www.lfd.uci.edu/~gohlke/pythonlibs并为您的python版本和系统架构下载最新版本的libsvm:
pip install /path/to/downloaded/libsvm-3.21-cp27-cp27m-win_amd64.whl
这个***包包含以下文件:
libsvm-3.21.data/data/Lib/site-packages/libsvm.dll
libsvm-3.21.data/data/Lib/site-packages/svm.py
libsvm-3.21.data/data/Lib/site-packages/svmutil.py
libsvm-3.21.dist-info/DESCRIPTION.rst
libsvm-3.21.dist-info/metadata.json
libsvm-3.21.dist-info/top_level.txt
libsvm-3.21.dist-info/WHEEL
libsvm-3.21.dist-info/METADATA
libsvm-3.21.dist-info/RECORD
【讨论】:
pip install lfd.uci.edu/~gohlke/pythonlibs/tuoh5y4k/… 这个命令抛出:HTTP error 404 while getting lfd.uci.edu/~gohlke/pythonlibs/tuoh5y4k/… @amighty 我已经更新了答案。通过浏览器手动下载软件包,然后在本地进行 pip 安装。该网站可能通过阻止 HTTP 标头中的某些用户代理来阻止以编程方式下载工件。以上是关于如何在 conda 环境中安装 libsvm,以便可以在 anaconda 中导入 svm?的主要内容,如果未能解决你的问题,请参考以下文章