我正在尝试在虚拟环境中使用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 回答
解决方案是使用以下命令打开jupyter notebook:
~/virtualenv/my_venv_name/bin/jupyter-notebook
您不应该安装
ipykernel
- 相反,您应该在虚拟环境中进行完整的Jupyter安装(pip install jupyter
) . 此外,请确保不使用--system-site-packages
选项创建虚拟环境 .另见this answer .