提问人:jf328 提问时间:5/16/2017 最后编辑:Communityjf328 更新时间:5/20/2020 访问量:46534
如何让Jupyter笔记本在系统变量中使用PYTHONPATH,而不直接入侵sys.path?
How to make Jupyter notebook use PYTHONPATH in system variables without hacking sys.path directly?
问:
与这个问题相同的问题 sys.path 在 Jupyter 和 Python 中不同 - 如何在 Jupyter 中导入自己的模块?在纯 Python 中,它将我的系统环境变量 PYTHONPATH 预置到 sys.path,但 Jupyter 笔记本没有,所以我无法导入自己的模块。
在 SO 上有很多类似的问题,解决方案是直接在脚本中操作 sys.path。
有没有办法让 Jupyter 笔记本像在纯 python 中一样使用我的系统 PYTHONPATH 变量?
答:
3赞
jf328
10/19/2017
#1
Jupyter 使用自己的JUPYTER_PATH环境变量。
评论
2赞
mattiasostmar
11/24/2017
文档没有给出如何在配置文件中添加它的示例。我无法让它工作。您能否举例说明如何在jupyter_notebook_config.json中添加它,默认如下所示: { “NotebookApp”: { “nbserver_extensions”: { “ipyparallel.nbextension”: true } }
0赞
jf328
11/24/2017
不知道如何从配置文件中执行此操作。我做的是在PYTHON_PATH所在的位置创建一个新的系统环境变量。
0赞
Shmalex
12/3/2022
URL 现在已损坏。
2赞
kev8484
8/24/2019
#2
--只是在这里插话,因为接受的答案没有给出完整的解决方案--
您可以将模块的路径添加到环境变量中,就像修改环境变量一样:JUPYTER_PATH
PYTHONPATH
export JUPYTER_PATH="${JUPYTER_PATH}:/path/to/add/here/"
如果您使用的是 Mac 或其他 Unix 系统,您只需将上面的行放入~/.bash_profile
提示:请确保运行以实施更改,并关闭并重新启动 jupyter 笔记本。source ~/.bash_profile
3赞
tardis
10/23/2019
#3
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
将其另存为 ,使其可执行,并在 shell 上运行。start_my_jupyterlab
chmod a+x start_my_jupyterlab
start_my_jupyterlab
评论
0赞
Johann
9/30/2020
这对我来说效果很好。虽然就我的情况(在 OSX 上)而言,conda 环境处于/Users/ME/anaconda3/envs/MY_ENVIRONMENT/bin/jupyter-lab
11赞
Marc J. Schmidt
5/20/2020
#4
只需使用 .PYTHONPATH
export PYTHONPATH=/Users/user/my-other-library/
jupyter notebook
我刚刚使用最新的 jupyterlab-2.1.2 进行了测试,它可以工作。
评论
0赞
Shaun Han
11/8/2023
OP显然是在问如何在笔记本中做到这一点。
评论