我正在尝试在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 回答
我找到了解决方案,因为内核设置为使用默认的mac os x的python我通过使用命令修复它
python2 -m pip install ipykernel
python2 -m ipykernel install --user
当我使用Anaconda Navigator和命令行时,我遇到了这个问题 . 我在控制台中输入'source activate',然后使用Anaconda Navigator打开Jupyter . 然而,在Anaconda Navigator中,我没有在正确的环境中导致问题 . 这是因为Anaconda Navigator自带了对虚拟环境的激活(当您点击它们时) . 因此,您需要从控制台激活虚拟环境,然后从控制台启动Jupyter,或者需要在Anaconda Navigator中激活虚拟环境并从Navigator启动Jupyter . 两种方式都有效但不能组合使用 . :-)
对我来说,我在创建环境后安装了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路径设置的详尽描述 .