首页 文章

虚拟环境中的Jupyter Notebook没有看到虚拟环境包

提问于
浏览
9

我正在尝试在虚拟环境中使用Jupyter Notebook . 我创建了一个新的virtualenv virtualenv ker12 activate安装了特定版本的keras或任何其他库 .

也如Using a virtualenv in an IPython notebook中提到的那样:

pip install ipykernel

python -m ipykernel install --user --name=my-virtualenv-name

当我运行笔记本并写入 ! which jupyter 时输出正确

/ Users / myname / virtualenv / ker12 / bin / python

但是当我尝试导入库时,例如 import keras 则出错 .

ImportError:没有名为keras的模块

但是当我写 pip freeze | grep Keras 时从另一边输出的是:

Keras == 1.2.0

更新1:

此问题与 Keras 无关,它与任何其他库一起出现(例如 pandas

如果我打印 os.path ,则输出如下:

<'module'posixpath'来自/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpath.pyc>

从“命令行python”开始,os.path看起来是正确的

''模块'posixpath'来自'/Users/my_name/virtualenv/ker12/lib/python2.7/posixpath.pyc'>

更新2:

如果我从终端打印 sys.path 并且 jupyter 输出也不同:

from terminal

/Users/myname/virtualenv/ker12/lib/python27.zip /Users/myname/virtualenv/ker12/lib/python2.7 /Users/myname/virtualenv/ker12/lib/python2.7/plat-darwin / Users / myname / virtualenv / ker12 / lib / python2.7 / plat-mac /Users/myname/virtualenv/ker12/lib/python2.7/plat-mac/lib-scriptpackages / Users / myname / virtualenv / ker12 / lib / python2 . 7 / lib-tk /Users/myname/virtualenv/ker12/lib/python2.7/lib-old/Users/myname/virtualenv/ker12/lib/python2.7/lib-dynload / usr / local / Cellar / python / 2.7.13 / Frameworks / Python.framework / Versions / 2.7 / lib / python2.7 /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat- darwin /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk /usr/local/Cellar/python/2.7.13/Frameworks/Python . framework / Versions / 2.7 / lib / python2.7 / plat-mac /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib- scriptpackages /Users/myname/virtualenv/ker12/lib/python2.7/site-packages

from JUPYTER

/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python27.zip /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/ 2.7 / lib / python2.7 /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin /usr/local/Cellar/python/2.7 . 13 / Frameworks / Python.framework / Versions / 2.7 / lib / python2.7 / plat-mac /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ plat-mac / lib-scriptpackages /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk /usr/local/Cellar/python/2.7 . 13 / Frameworks / Python.framework / Versions / 2.7 / lib / python2.7 / lib-old /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ lib-dynload /usr/local/lib/python2.7/site-packages /usr/local/lib/python2.7/site-packages/IPython/extensions /Users/myname/.ipython`

2 回答

  • 7

    解决方案是使用以下命令打开jupyter notebook:

    ~/virtualenv/my_venv_name/bin/jupyter-notebook

  • 5

    您不应该安装 ipykernel - 相反,您应该在虚拟环境中进行完整的Jupyter安装( pip install jupyter ) . 此外,请确保不使用 --system-site-packages 选项创建虚拟环境 .

    另见this answer .

相关问题