我有一个以
开头的 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 升级):/Users/MyUserName 中的 scikit-learn
最佳答案
我能够通过在笔记本顶部添加一个单元格并将模块目录附加到路径来修复 Ubuntu 上的这个错误:
import sys
sys.path.append('/usr/lib/python2.7/dist-packages')
运行pip install <something>
可以找到添加的路径,(例如 numpy),它会告诉您每个包的安装位置或已经存在的位置。
关于python - 在 ipython 笔记本上找不到模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26930515/