Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Jupyter笔记本,错误的sys.path和sys.executable_Python_Python 2.7_Jupyter Notebook_Jupyter_Sys - Fatal编程技术网

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

Python Jupyter笔记本,错误的sys.path和sys.executable,python,python-2.7,jupyter-notebook,jupyter,sys,Python,Python 2.7,Jupyter Notebook,Jupyter,Sys,我试图在Jupyter笔记本中运行python库的anaconda发行版,但当我运行笔记本时,我不断收到导入器,因为python路径设置为Mac OS X 10.11的默认发行版 当我打印sys.path和sys.executable时,它们在运行python和运行jupyter notebook时有所不同。比如说, from pprint import pprint as p import sys p(sys.path) 在python中执行此操作后,我得到了正确的输出: ['', '/

我试图在Jupyter笔记本中运行python库的anaconda发行版,但当我运行笔记本时,我不断收到导入器,因为python路径设置为Mac OS X 10.11的默认发行版

当我打印sys.path和sys.executable时,它们在运行python和运行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']
/Users/glennraskovich/anaconda2/bin/python
但在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.exe可执行文件

p(sys.executable)
在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']
/Users/glennraskovich/anaconda2/bin/python
但在jupyter笔记本中,sys.executable未设置为anaconda版本

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

我尝试在我的.bashrc和.bash_配置文件中设置路径,并使用命令which python、which jupyter等显示蟒蛇路径,但jupyter笔记本没有使用蟒蛇路径。这里可能有什么问题?

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

python2-m管道安装ipykernel


python2-m ipykernel安装--user

我在使用Anaconda导航器和命令行时遇到了这个问题。我在控制台中键入“源代码激活”,然后使用Anaconda Navigator打开Jupyter。然而,在Anaconda Navigator中,我没有处于正确的环境中,这导致了问题。这是因为Anaconda Navigator为虚拟环境提供了自己的激活(当您单击虚拟环境时)。因此,您要么需要从控制台激活虚拟环境,然后从控制台启动Jupyter,要么需要在Anaconda Navigator中激活虚拟环境,然后从Navigator启动Jupyter。两种方法都有效,但不能组合使用。:-)

对我来说,我在创建环境后安装了Jupyter,但随后尝试运行从基本环境安装的模块。我通过“jupyter kernelspec list”()发现,位于C:\Users\username\Anaconda37\share\jupyter\kernels\python3\kernel.json的kernel.json指向我工作环境中的python.exe。改变了路径并解决了它


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

您混淆了笔记本服务器的sys.path和正在运行的内核的sys.path。那么,我是否需要更改内核的sys.path?如何解决此问题?注意:第二步中的
--user
非常重要。我尝试了第二种方法,没有使用
--user
,而是使用
sudo
,但没有成功,因为它将kernelspec放在了另一个目录中(在Windows 10上,Ubuntu在WSL上)。我可以验证这一方法也解决了virtualenv上的问题。与激活的venv“python”一起使用。唯一对我有效的解决方案。谢谢@Glenn Raskovich