首页 文章

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

提问于
浏览
3

我正在尝试在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)

在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']

但是当在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)

在python中,正确的输出:

/Users/glennraskovich/anaconda2/bin/python

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

/usr/local/opt/python/bin/python2.7

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

3 回答

  • 0

    我找到了解决方案,因为内核设置为使用默认的mac os x的python我通过使用命令修复它

    python2 -m pip install ipykernel

    python2 -m ipykernel install --user

  • 5

    当我使用Anaconda Navigator和命令行时,我遇到了这个问题 . 我在控制台中输入'source activate',然后使用Anaconda Navigator打开Jupyter . 然而,在Anaconda Navigator中,我没有在正确的环境中导致问题 . 这是因为Anaconda Navigator自带了对虚拟环境的激活(当您点击它们时) . 因此,您需要从控制台激活虚拟环境,然后从控制台启动Jupyter,或者需要在Anaconda Navigator中激活虚拟环境并从Navigator启动Jupyter . 两种方式都有效但不能组合使用 . :-)

  • 0

    对我来说,我在创建环境后安装了Jupyter,但后来尝试运行从基础环境安装的模块 . 我发现"jupyter kernelspec list"(https://github.com/jupyter/notebook/issues/2563),我的kernel.json在C:\ Users \ username \ Anaconda37 \ share \ jupyter \ kernels \ python3 \ kernel.json指向我工作环境中的python.exe . 改变了路径并解决了它 .

    This是对python路径设置的详尽描述 .

相关问题