我在bash中声明了几个变量(通过〜/ .bash_profile),它们在bash本身以及在bash中启动的python中工作。
示例:
export PUIBy="Dropbox/CUSP/1_1_PUI/PUI_Bycicle_Research/"
然而,当我启动Jupyter笔记本时,os.environ
没有看到任何一个,显示一些默认的变量列表(PWD,SUDO_USER,USERNAME,JPY_PARENT_PID,SSH_AUTH_SOCK,SUDO_UID,GIT_PAGER等)
我的系统是Mac OS El Captain,anaconda ipython 2.7
答案 0 :(得分:1)
答案 1 :(得分:0)
实际上这个问题与Jupyter无关。它与加载不同.bash文件的方式有关。
引用here
对于登录shell执行.bash_profile,而为交互式非登录shell执行.bashrc。当你通过控制台登录(输入用户名和密码)时,要么坐在机器上,要么通过ssh远程执行:.bash_profile执行以在初始命令提示符之前配置你的shell。
因为您将变量放入.bash_profile,它只能在终端shell中使用,但不能在非交互式shell中使用。
Jupyter-notebook是一个Web应用程序,即使它在本地计算机上运行,您也可以从本地计算机访问它(在大多数情况下)。每次打开笔记本时,它都会在自己的非交互式shell中启动内核。因此,如果您希望从shell中看到环境变量,请将它们放入.bashrc
文件中,而不是.bash_profile
另外,要查看设置了哪些变量,请在Jupyter笔记本中使用!export
命令