在ipython笔记本上找不到模块

时间:2014-11-14 12:54:26

标签: python pip ipython ipython-notebook

我有一个以

开头的ipython笔记本
import sklearn

当我运行它时,我得到:

ImportError: No module named sklearn

的确如果我在笔记本上运行以下代码片段,它就不会显示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

但是,当我从命令行运行代码段时,scikit_learn就在列表中。

我想到了一个版本问题(为一个版本而不是另一个版本安装的模块),在笔记本和命令行上都有bur,sys.version给出2.7.5

关于这个问题的任何想法?

关注cel的评论:

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

2 个答案:

答案 0 :(得分:4)

我能够在Ubuntu上修复此错误,方法是在将模块目录附加到路径的笔记本顶部添加一个单元格:

import sys
sys.path.append('/usr/lib/python2.7/dist-packages')

运行pip install <something>(例如numpy)时可以找到添加路径,它会告诉您每个软件包的安装位置或已存在。

答案 1 :(得分:0)

/ usr / bin / python实际上是一个符号链接吗?

更好的解决方案是你应该从包含你需要的所有模块的virtualenv运行你的ipython笔记本。