小编Gle*_*ich的帖子

Jupyter笔记本,错误的sys.path和sys.executable

我正在尝试在Jupyter笔记本中运行anaconda分发的python库,但是当我运行笔记本时,我一直得到ImportErrors,因为python路径被设置为Mac OS X 10.11的默认分发版

当我打印出sys.path和sys.executable时,它们在运行python vs运行jupyter notebook时有所不同.例如,

from pprint import pprint as p
import sys

p(sys.path)
Run Code Online (Sandbox Code Playgroud)

在python中执行此操作后,我得到了正确的输出:

['',
 '/Users/glennraskovich/anaconda2/lib/python27.zip',
 '/Users/glennraskovich/anaconda2/lib/python2.7',
 '/Users/glennraskovich/anaconda2/lib/python2.7/plat-darwin',
 '/Users/glennraskovich/anaconda2/lib/python2.7/plat-mac',
 '/Users/glennraskovich/anaconda2/lib/python2.7/plat-mac/lib-scriptpackages',
 '/Users/glennraskovich/anaconda2/lib/python2.7/lib-tk',
 '/Users/glennraskovich/anaconda2/lib/python2.7/lib-old',
 '/Users/glennraskovich/anaconda2/lib/python2.7/lib-dynload',
 '/Users/glennraskovich/anaconda2/lib/python2.7/site-packages',
 '/Users/glennraskovich/anaconda2/lib/python2.7/site-packages/aeosa']
Run Code Online (Sandbox Code Playgroud)

但是当在jupyter笔记本中运行时,我得到:

['', '/usr/local/lib/python2.7/site-packages/dask-0.11.0-py2.7.egg', '/usr/local/lib/python2.7/site-packages/networkx-1.11-py2.7.egg', '/usr/local/lib/python2.7/site-packages/six-1.10.0-py2.7.egg', '/usr/local/lib/python2.7/site-packages/Pillow-3.3.1-py2.7-macosx-10.11-x86_64.egg', '/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages', '/Library/Python/2.7/site-packages', '/usr/local/lib/python2.7/site-packages/IPython/extensions', '/Users/glennraskovich/.ipython']

对于sys.executable,

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

在python中,正确的输出:

/Users/glennraskovich/anaconda2/bin/python
Run Code Online (Sandbox Code Playgroud)

但在jupyter笔记本中,sys.executable未设置为anaconda版本

/usr/local/opt/python/bin/python2.7
Run Code Online (Sandbox Code Playgroud)

我已经尝试在我的.bashrc和.bash_profile中设置PATH,并使用python,jupyter等显示anaconda路径但jupyter笔记本不使用anaconda路径的命令.这可能是什么问题?

python sys python-2.7 jupyter jupyter-notebook

5
推荐指数
1
解决办法
5288
查看次数

标签 统计

jupyter ×1

jupyter-notebook ×1

python ×1

python-2.7 ×1

sys ×1