【发布时间】:2015-01-11 21:00:34
【问题描述】:
我有一个以
开头的 ipython 笔记本import sklearn
当我运行它时,我得到:
ImportError: No module named sklearn
确实,如果我在笔记本上运行以下 sn-p,它不会显示 scikit_learn:
import pip
installed_packages = pip.get_installed_distributions()
installed_packages_list = sorted(["%s==%s" % (i.key, i.version)
for i in installed_packages])
print installed_packages_list
但是,当我从命令行运行 sn-p 时,scikit_learn 在列表中。
我想到了一个版本问题(一个版本安装了模块,另一个没有安装),笔记本和命令行都bur,sys.version给2.7.5
对这里的问题有任何想法吗?
关注 cel 的 cmets:
ipython -c "import sys; print(sys.executable)"
输出 /usr/bin/python(直接在笔记本中运行 import sys; print(sys.executable) 也是如此)
那么,/usr/bin/python -m pip install scikit-learn
输出:已满足要求(使用 --upgrade 升级):scikit-learn in /Users/MyUserName
【问题讨论】:
-
为了使
scikit-learn在ipython中可用,您必须使用正确的pip可执行文件安装scikit-learn。我会尝试以下方法:ipython -c "import sys;print(sys.executable)"。这应该打印一个 python 解释器的路径。然后你应该使用这个解释器并调用<path-to-interpreter> -m pip install scikit-learn来解决你的问题。 -
但是
ipython -c "import sklearn"给你一个错误? -
不,它似乎没有工作。但是启动一个新笔记本并在其中运行“import sklearn”会导致 ImportError。
-
而
import sys;print(sys.executable)在你的笔记本上打印/usr/bin/python?如果是这样,那确实很奇怪。 -
是的,确实如此。我也会把它放在我的问题中。
标签: python pip ipython ipython-notebook