我正在尝试在虚拟环境中使用Jupyter Notebook。
我创建了一个新的virtualenv
另外,如在IPython笔记本中使用virtualenv所述,我执行了以下操作:
/Users/myname/virtualenv/ker12/bin/python
但当我尝试导入库,例如
ImportError: No module named keras
但从另一方面来看,当我写下
virtualenv ker12
,并激活+安装了特定版本的keras或其他库。另外,如在IPython笔记本中使用virtualenv所述,我执行了以下操作:
pip install ipykernel
和
python -m ipykernel install --user --name=my-virtualenv-name
当我运行笔记本并写下! which jupyter
时,输出是正确的:/Users/myname/virtualenv/ker12/bin/python
但当我尝试导入库,例如
import keras
时,会出现错误。ImportError: No module named keras
但从另一方面来看,当我写下
pip freeze | grep Keras
时,输出为:
Keras==1.2.0
更新 1:
这个问题与 Keras 无关,它会发生在任何其他库中(例如 pandas)
如果我打印 os.path
,输出如下:
<'module 'posixpath' from /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpath.pyc>
从“命令行python”中,os.path 看起来是正确的
<'module 'posixpath' from '/Users/my_name/virtualenv/ker12/lib/python2.7/posixpath.pyc'>
更新 2:
如果我从终端和 jupyter
中打印 sys.path
,输出也不同:
从终端中
/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 来自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"
pip freeze -l
命令(列出当前虚拟环境中的本地包) — Keras 是否还在其中? - phdpip freeze -l
命令的输出中。 - Michael D