【发布时间】:2017-09-19 10:44:54
【问题描述】:
我可以通过两种不同的方式启动 Anaconda Jupyter notebook(下面的案例 A 和案例 B):
案例A。
1) 我在 .sh 文件中有以下代码,它是可执行的:
#!/bin/bash
cd "/home/alex/Project"
"/home/alex/anaconda3/bin/jupyter-notebook"
2) 或者.sh文件中的以下代码,可执行:
"/home/alex/anaconda3/bin/jupyter-notebook"
以上两种情况下,以下 Python(在 Jupyter 中)命令都会生成错误:
import os
print(os.environ['CLASSPATH'])
错误:
KeyError: 'CLASSPATH'
案例 B
1) 我打开终端并输入jupyter-notebook 或jupyter notebook
2) 我打开终端并输入/home/alex/anaconda3/bin/jupyter-notebook
在这种情况下,相同的 Python(在 Jupyter 中)命令为 CLASSPATH 返回正确的值。
有谁知道出了什么问题以及如何开始故障排除?
补充:我使用下面的命令sudo gedit ~/.bashrc设置CLASSPATH
【问题讨论】:
-
你可能在你的 bash/zsh/sh-profile 中设置了
CLASSPATH,无论是全局的还是本地的。从终端执行jupyter-notebook时,您的环境是由您的shell 设置的,可能包括CLASSPATH。在交互式 shell 之外执行 shellscript 时,不会加载您的环境。找出CLASSPATH的设置位置,并确保将其添加到您的脚本中。 -
从您的主目录执行
echo $CLASSPATH,然后从Jupyter shell 内部执行!echo $CLASSPATH,它们返回什么? -
@user2722968 我在帖子中添加了一行,所以当我执行文件时,如何确保读取正确的
bashrc? -
@DmitryPolonskiy。在终端中,我在 Jupyter 中得到
CLASSPATH(案例 A)我什么也没有得到,而在(案例 B)中,我得到了正确的返回路径 -
您可以简单地将
source $HOME/.bashrc添加到您的脚本中
标签: python ubuntu environment-variables anaconda