在虚拟环境中启动时,jupyter Notebook 中的 sys.path 错误

bni*_*aul 5 python ipython sys.path python-2.7 jupyter-notebook

我创建了一个名为 的虚拟环境sampleenv,但是当我在 exampleenv 中启动 jupyter Notebook 时,我注意到它正在引用/定位我的另一个名为 的虚拟环境中的 python 包openfaceenvsys.path这是调用Jupyter Notebook时的输出sys.executable

(在 jupyter 笔记本内部sampleenv

import sys
print sys.path
Run Code Online (Sandbox Code Playgroud)

['','/Users/user/.virtualenvs/sampleenv/lib/python2.7/site-packages','','/Users/user/.virtualenvs/openfaceenv/lib/python2.7/site-packages/ dlib-18.18.99-py2.7-macosx-10.10-x86_64.egg','/Users/user','/Users/user/git-repos','/Users/user/.virtualenvs/openfaceenv/lib/ python27.zip', '/Users/user/.virtualenvs/openfaceenv/lib/python2.7', '/Users/user/.virtualenvs/openfaceenv/lib/python2.7/plat-darwin', '/Users/user /.virtualenvs/openfaceenv/lib/python2.7/plat-mac', '/Users/user/.virtualenvs/openfaceenv/lib/python2.7/plat-mac/lib-scriptpackages', '/Users/user/. virtualenvs/openfaceenv/lib/python2.7/lib-tk', '/Users/user/.virtualenvs/openfaceenv/lib/python2.7/lib-old', '/Users/user/.virtualenvs/openfaceenv/lib/ python2.7/lib-dynload', '/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/usr/local/Cellar/python/ 2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin','/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib /python2.7/lib-tk', '/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/usr/local /Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/Users/user/.virtualenvs/openfaceenv/lib/python2.7 /site-packages', '/Users/user/.virtualenvs/openfaceenv/lib/python2.7/site-packages/IPython/extensions', '/Users/user/.ipython']

print sys.executable
Run Code Online (Sandbox Code Playgroud)

/Users/user/.virtualenvs/openfaceenv/bin/python2.7

但是,当我在 Sampleenv 的命令行中运行 ipython 或 python shell 并获取 sys.path 和 sys.executable 时,它​​们都正确地定位了正确的路径,即

(在 python shell 或 ipython shell 中sampleenv

import sys
print sys.path
Run Code Online (Sandbox Code Playgroud)

['','/Users/user','/Users/user/git-repos','/Users/user/.virtualenvs/sampleenv/lib/python27.zip','/Users/user/.virtualenvs/sampleenv /lib/python2.7', '/Users/user/.virtualenvs/sampleenv/lib/python2.7/plat-darwin', '/Users/user/.virtualenvs/sampleenv/lib/python2.7/plat-mac ', '/Users/user/.virtualenvs/sampleenv/lib/python2.7/plat-mac/lib-scriptpackages', '/Users/user/.virtualenvs/sampleenv/lib/python2.7/lib-tk', '/Users/user/.virtualenvs/sampleenv/lib/python2.7/lib-old', '/Users/user/.virtualenvs/sampleenv/lib/python2.7/lib-dynload', '/usr/local/ Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib /python2.7/plat-darwin', '/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/usr/local /Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/版本/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/Users/user/.virtualenvs/sampleenv/lib/python2.7/site-packages']

print sys.executable
Run Code Online (Sandbox Code Playgroud)

'/Users/user/.virtualenvs/sampleenv/bin/python'

为什么会这样呢?我怎样才能解决这个问题?另外,当我尝试切换到其他虚拟环境时,同样的问题,它指向站点包的路径openfaceenv。我已经查看了相关问题,但他们的解决方案并没有真正解决问题,我不'不想使用sys.path.append(),我也尝试运行hash -r,但结果相同。