我正在尝试在虚拟环境中使用Jupyter Notebook。
我创建了一个新的virtualenv virtualenv ker12
+激活+安装特定版本的keras或任何其他库。
也如Using a virtualenv in an IPython notebook中提到的那样:
pip install ipykernel
和
python -m ipykernel install --user --name=my-virtualenv-name
当我运行笔记本并写入时
! which jupyter
输出正确
/用户/ MYNAME /的virtualenv / ker12 / bin中/蟒
但是当我尝试导入库时,例如import keras
则会出错。
ImportError:没有名为keras的模块
但是当我写pip freeze | grep Keras
时从另一边
输出是:
Keras == 1.2.0
此问题与 Keras 无关,与任何其他库(例如 pandas )相关
如果我打印os.path
,则输出结果如下:
来自/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpath.pyc> 的<'module'posixpath'
从“命令行python”中,os.path看起来正确
<'module'posixpath'来自'/Users/my_name/virtualenv/ker12/lib/python2.7/posixpath.pyc'>
如果我从终端打印sys.path
而jupyter
输出也不同:
来自JUPYTER的/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
/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`
答案 0 :(得分:8)
解决方案是使用以下命令打开jupyter notebook:
~/virtualenv/my_venv_name/bin/jupyter-notebook
答案 1 :(得分:5)
您不应该安装ipykernel
- 而应该在虚拟环境中进行完整的Jupyter安装(pip install jupyter
)。此外,请确保不使用--system-site-packages
选项创建虚拟环境。
另见this answer。