如何使通过--prefix创建的Python环境在Jupyter Notebook中显示?
解决--prefix创建的Python环境在Jupyter Notebook中显示的问题
我之前也碰到过一模一样的情况!用--prefix创建的虚拟环境确实会在配置Jupyter内核时遇到--user和--prefix冲突的问题,不过有两个实用的办法能搞定,我给你详细说下:
方法1:手动创建内核配置文件
这是最直接也最稳妥的方式,绕开ipykernel install的参数限制:
- 首先激活你的
--prefix环境:
Linux/macOS:source /path/to/your/prefix/env/bin/activate
Windows:\path\to\your\prefix\env\Scripts\activate - 在激活的环境里安装ipykernel:
pip install ipykernel - 找到Jupyter的用户级内核目录:
Linux/macOS:~/.local/share/jupyter/kernels/
Windows:%APPDATA%\jupyter\kernels\ - 在这个目录下新建一个文件夹,名字就用你想在Jupyter里显示的环境名(比如
my_prefix_env) - 在新建的文件夹里创建
kernel.json文件,填入以下内容,记得替换成你自己的环境路径和显示名称:
{ "argv": [ "/path/to/your/prefix/env/bin/python", "-m", "ipykernel_launcher", "-f", "{connection_file}" ], "display_name": "My Prefix Env", "language": "python" }
方法2:指定内核安装到prefix环境目录
如果你不想手动写配置文件,可以尝试直接把内核安装到你的--prefix环境目录下,再让Jupyter能找到它:
- 激活环境后,运行这条命令(替换成你的路径和环境名):
python -m ipykernel install --prefix=/path/to/your/prefix/env --name=my_prefix_env - 这时候内核会被安装到
/path/to/your/prefix/env/share/jupyter/kernels/目录下 - 接下来需要让Jupyter能扫描到这个路径:
Linux/macOS:在终端运行export JUPYTER_PATH="/path/to/your/prefix/env/share/jupyter:$JUPYTER_PATH",如果想永久生效可以把这条命令加到你的~/.bashrc或~/.zshrc里
Windows:在系统环境变量里添加JUPYTER_PATH,值为\path\to\your\prefix\env\share\jupyter
验证是否成功
完成上面任意一种方法后,你可以:
- 运行
jupyter kernelspec list,看看列表里有没有你的--prefix环境对应的内核 - 启动Jupyter Notebook,点击「新建」按钮,应该就能看到你设置的环境名称了
内容的提问来源于stack exchange,提问作者TheeElm
相关产品推荐
相关产品推荐

