13

我使用pipenv. 但是,运行 Jupyter 笔记本并不会访问本地环境,而是使用默认的 IPyKernel。我已经看到您可以从环境中注册虚拟环境,但这需要安装ipykernel本身需要 Jupyter 的包!

有没有办法避免这种情况,只为所有虚拟环境使用一个 Jupyter 安装?

4

3 回答 3

2

通常,您会安装一次 jupyter 并在虚拟环境中执行以下操作:

pip install ipykernel  
python -m ipykernel install --user

当您运行多个 Python 版本时,这还不够。
这里有一个指南试图解决这个问题:
https ://medium.com/@henriquebastos/the-definitive-guide-to-setup-my-python-workspace-628d68552e14

它不是 100% 的故障保护,但它可以帮助您避免一直重新安装 jupyter notebook。

于 2018-11-20T09:25:51.583 回答
1

我发现分别为每个环境重新安装jupyter时几乎没有问题:即pip install jupyter jupyterlab在新环境中。

我有多个问题(有和没有 Conda),当您!pip install a_package_name在单元格中使用时,Jupyter 会将包安装到不同的 python 环境中。shell 环境仍然跟踪非环境 python,您可以通过比较和的输出来判断这!which python一点

import sys
sys.executable

因此,当您尝试导入包时,它不可用,因为单元使用环境 python/ kernel(因为它检测到venv目录)。

于 2020-11-06T20:58:56.880 回答
0

我找到了一个解决方法,我会很感激反馈。.bashrc我通过添加到/更改了 pipenv 以将虚拟环境安装到工作目录中.bash_profile

export PIPENV_VENV_IN_PROJECT=1

现在,当打开 Jupyter 笔记本时,我只需将虚拟环境的包添加到 Python 路径:

import sys
sys.path.append('./.venv/lib/python3.7/site-packages/')

这是一个可怕的想法吗?

于 2019-01-29T00:10:01.800 回答