首页 > 解决方案 > 在 Jupyter Notebook 中使用 Python 虚拟环境

问题描述

我经常发现这很有用,但我不确定有什么方法可以做到这一点。我经常在一个 python 项目上工作,我从项目的虚拟环境和 Jupyter 笔记本开始项目。当我在 Jupyter notebook 中进行实验时,我开始将库添加到虚拟环境中。问题是如果我跑

pip freeze > requirements.txt

在我的项目结束时,该文件将在我的虚拟环境中包含 jupyter 的库。有什么方法可以运行 Jupyter 笔记本(例如在我的基本 conda 环境中)但使用与另一个虚拟环境关联的内核?这似乎是最好的解决方案,但我不确定这是否可能?我知道我可能会做一些事情来从冻结的东西中删除这些,但这似乎是一种黑客行为。我看不到任何方法可以避免在目标虚拟环境中至少安装 ipykernel

标签: pythonjupyter-notebookvirtual-environment

解决方案


  1. 在 Jupyter 内核目录下创建一个新目录。如果您不知道在哪里可以找到它,请在此处查看 ( https://jupyter-client.readthedocs.io/en/stable/kernels.html )。

  2. 使用以下内容创建一个kernel.json文件:

{
 "argv": [ "/path-to-env/myenv/bin/python", "-m", "ipykernel",
          "-f", "{connection_file}"],
 "display_name": "myenv",
 "language": "python"
}
  1. 而已!现在您可以运行jupyter notebook并能够看到使用您的虚拟环境的内核。

这是一个更详细地解释它的博客:https ://www.alfredo.motta.name/create-isolated-jupyter-ipython-kernels-with-pyenv-and-virtualenv/


推荐阅读