将venv添加至Python Jupyter Notebook后pip list输出不匹配的原因
虚拟环境与Jupyter内核pip list不匹配的原因及解决办法
出现这种情况的核心问题是你创建的虚拟环境和Jupyter注册的env_test内核没有正确绑定,导致两边调用的pip不属于同一个环境。常见原因和对应解决方法如下:
未激活虚拟环境就安装ipykernel
你大概率是在创建venv后,没激活环境就执行了pip install ipykernel和内核注册命令。这时ipykernel会被安装到系统默认的Python环境(比如base),Jupyter调用env_test内核时,实际用的是默认环境的pip,自然和venv里的包列表不一样。
解决:重新激活虚拟环境,再安装ipykernel并注册:# Linux/macOS source env_test/bin/activate # Windows env_test\Scripts\activate pip install ipykernel python -m ipykernel install --user --name env_test --display-name "Python (env_test)"Jupyter内核指向的Python解释器错误
注册内核时如果用的是系统Python(而非venv里的),内核会绑定到系统环境。可以在Jupyter里运行以下命令验证:# Linux/macOS !which pip # Windows !where pip如果输出路径不是
env_test/bin/pip(或Windows下的env_test\Scripts\pip),说明内核没关联到你的venv,按上面的步骤重新注册即可。未重启Jupyter服务器
有时候添加新内核后,只重启Jupyter内核不够,需要关闭整个Jupyter服务再重新启动,让系统加载新的内核配置。
内容的提问来源于stack exchange,提问作者Jimmy Wang
相关产品推荐
相关产品推荐

