使用特定的 virtualenv 在 Jupyter Notebook 中执行 Python 脚本

新手上路,请多包涵

我想从 Jupyter notebook 中执行一个长时间运行的 Python 脚本,这样我就可以破解运行中生成的数据结构。

该脚本具有许多依赖项和命令行参数,并使用特定的 virtualenv 执行。是否可以从指定的 virtualenv(不同于 Jupyter 安装)在笔记本中交互式运行 Python 脚本?

原文由 Bede Constantinides 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 858
2 个回答

这是对我有用的(非 conda python):(MacOS,python 的 brew 版本。如果你正在使用系统 python,你可能(将)需要在每个命令前添加 sudo )

  1. 首先激活virtualenv。如果重新开始,例如,您可以使用 virtualenvwrapper:
    $ pip install virtualenvwrapper
   $ mkvirtualenv -p python2 py2env
   $ workon py2env

   # This will activate virtualenv

   (py2env)$

   # Then install jupyter within the active virtualenv
   (py2env)$ pip install jupyter

   # jupyter comes with ipykernel, but somehow you manage to get an error due to ipykernel, then for reference ipykernel package can be installed using:
   (py2env)$ pip install ipykernel

  1. 接下来,设置内核
   (py2env)$ python -m ipykernel install --user --name py2env --display-name "Python2 (py2env)"

  1. 然后启动jupyter notebook(这一步不需要激活venv)
    (py2env)$ jupyter notebook
   # or
   #$ jupyter notebook

在 jupyter 笔记本下拉菜单中: Kernel >> Change Kernel >> <list of kernels> 你应该看到 Python2 (py2env) 内核。

这也使得识别内核的 python 版本变得容易,并且可以同时维护。

这是详细文档的链接:http: //ipython.readthedocs.io/en/stable/install/kernel_install.html

原文由 muon 发布,翻译遵循 CC BY-SA 4.0 许可协议

让笔记本内核在其他笔记本中可用的更简单的解决方案。

我正在使用 Linux + virtualenv + virtualenvwrapper。如果您使用不同的设置,请将一些命令更改为适当的命令,但您应该明白了。

 mkvirtualenv jupyter2
workon jupyter2
(jupyter2) pip install jupyter
(jupyter2) ipython kernel install --name "jupyter2_Python_2" --user

最后一条命令创建 ~/.local/share/jupyter/kernels/jupyter2\ python\ 2/ 目录

同样的东西 3

 mkvirtualenv -p /usr/bin/python3 jupyter3
// this uses python3 as default python in virtualenv
workon jupyter3
(jupyter3) pip install jupyter
(jupyter3) ipython kernel install --name "jupyter3_Python_3" --user

完成后,无论您使用什么环境启动 jupyter,您都应该看到两个内核。您可以直接在 ~/.local/share/jupyter/kernels/ 中删除指向内核的链接。要指定位置,请提供选项 ipython kernel install (--help) 或者只需将目录从 ~/.local/share/jupyter/kernels/ 复制到 ~/envs/jupyter3/share/jupyter 如果你想从一个笔记本运行多个 kerenels only.

原文由 singer 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题