run*_*kid 12 python ipython-notebook jupyter-notebook
我在iPython/Jupyter笔记本中导入模块时遇到问题.问题基本上在于sys.path所指向的位置.
从iPython/Jupyter笔记本中,sys.executable返回:
'/usr/bin/python'
Run Code Online (Sandbox Code Playgroud)
但是,从命令行返回:
'//anaconda/bin/python'
Run Code Online (Sandbox Code Playgroud)
我尝试过卸载并重新安装anacondas,但问题仍然存在.
我也尝试在我的bash_profile中添加$ PYTHONPATH以包含// anaconda/bin/python,但这并没有解决它.
无论如何都要永久地更改我的jupyter笔记本中的sys.path,而不是简单地使用sys.path.append(...)?
打开一个新的终端窗口,看看这是否有帮助。如果没有,请继续执行 2。
从终端启动标准 Python 会话并键入:
>>> import sys
>>> sys.executable
Run Code Online (Sandbox Code Playgroud)在笔记本中做同样的事情:
In [1]: import sys
sys.executable
Run Code Online (Sandbox Code Playgroud)比较结果。希望这能给你一个线索。
我遇到过同样的问题。在经历了在其他地方发现的这个问题的许多(比如太多)解决方案之后,我设法找到了一个至少适用于我的情况的解决方案。
进入命令行,激活有问题的 conda 环境,并检查该环境的正确可执行路径。
conda activate {envronment name};
然后在 python 控制台上,(>>>)import sys;sys.executable
例如在 Linux 上它将是
/media/{username}/{path-to}/anaconda3/envs/{environment name}/bin/python
从命令行,检查kernel.json有问题的 conda 环境所在的路径。
jupyter kernelspec list
例如在 Linux 上,它将是: /home/{username}/.local/share/jupyter/kernels/{environment name}
打开kernel.json位于该文件夹中的,替换不正确的可执行路径,如下图。
{
"argv": [
"REPLACE-THIS-WITH-THE-CORRECT-EXECUTABLE-PATH",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"display_name": "heterodimers",
"language": "python"
}
Run Code Online (Sandbox Code Playgroud)
希望这也适用于您的情况。