与此问题sys.path different in Jupyter and Python - how to import own modules in Jupyter?中的问题相同。在纯Python中,它将我的系统环境变量PYTHONPATH预先添加到sys.path但Jupyter笔记本没有,所以我无法导入我自己的模块。
在SO上提出了许多类似的问题,解决方案是在脚本中直接操作sys.path。
有没有办法让Jupyter笔记本使用我的系统PYTHONPATH变量,就像在纯python中一样?
答案 0 :(得分:2)
仅使用PYTHONPATH
。
export PYTHONPATH=/Users/user/my-other-library/
jupyter notebook
我刚刚使用最新的jupyterlab-2.1.2进行了测试,并且可以正常工作。
答案 1 :(得分:1)
Jupyter使用自己的JUPYTER_PATH环境变量。
答案 2 :(得分:0)
-因为接受的答案并没有给出完整的解决方案,所以请在这里报错-
您可以将模块的路径添加到JUPYTER_PATH
环境变量,就像修改PYTHONPATH
环境变量一样:
export JUPYTER_PATH="${JUPYTER_PATH}:/path/to/add/here/"
如果您使用的是Mac或其他Unix系统,则只需将上述行放入~/.bash_profile
提示:确保运行source ~/.bash_profile
进行更改并关闭并重新启动jupyter笔记本。
答案 3 :(得分:0)
JupyterLab在Linux上重用了PYTHONPATH,所以我创建了一个文件
#!/bin/bash
# add your path
export PYTHONPATH="$PYTHONPATH:/opt/your/path"
# start JupyterLab using an environment
/opt/anaconda/envs/MY_ENVIRONMENT/bin/jupyter-lab
将其保存为start_my_jupyterlab
,使其可以与chmod a+x start_my_jupyterlab
执行,并使用start_my_jupyterlab
在外壳上运行。