首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用特定的虚拟环境在Jupyter notebook中执行Python脚本

使用特定的虚拟环境在Jupyter notebook中执行Python脚本
EN

Stack Overflow用户
提问于 2015-11-03 18:09:29
回答 5查看 55.6K关注 0票数 75

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

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

谢谢!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-02-11 05:59:43

以下是对我有效的方法(非conda python):(MacOS,python的brew版本。如果您正在使用system python,您可能(将)需要在每个命令前面加上sudo)

首先激活虚拟环境

如果重新启动,那么例如,您可以使用virtualenvwrapper

代码语言:javascript
复制
$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

接下来,设置内核

代码语言:javascript
复制
(py2env)$ python -m ipykernel install --user --name py2env --display-name "Python2 (py2env)"

然后启动jupyter notebook (该步骤不需要激活venv )

代码语言:javascript
复制
(py2env)$ jupyter notebook
# or
#$ jupyter notebook

在jupyter notebook下拉菜单中:Kernel >> Change Kernel >> <list of kernels>,您应该看到Python2 (py2env)内核

这也使得识别内核的python版本和同时维护两个版本变得很容易。

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

票数 90
EN

Stack Overflow用户

发布于 2016-09-20 20:05:41

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

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

代码语言:javascript
复制
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的东西是一样的

代码语言:javascript
复制
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

票数 47
EN

Stack Overflow用户

发布于 2015-12-31 00:49:44

我发现这个链接非常有用:

https://ocefpaf.github.io/python4oceanographers/blog/2014/09/01/ipython_kernel/

确保将jupyter安装到您的virtualenv中。以防链接稍后消失,要点如下:

你需要创建一个新的内核。您可以使用JSON文件指定内核。您的内核通常位于~/.ipython/kernels。创建一个与您的virtualenv同名的目录,并在其中创建kernel.json文件。例如,我的一条路径看起来像~./ipython/kernels/datamanip/kernel.json

下面是我的kernel.json文件的样子:

代码语言:javascript
复制
{
  "display_name": "Data Manipulation (Python2)",
  "language": "python",
  "codemirror_mode": {
    "version": 3,
    "name":"ipython"
  },
  "argv": [
    "/Users/ed/.virtualenvs/datamanip/bin/python",
    "-c",
    "from IPython.kernel.zmq.kernelapp import main; main()",
    "-f",
    "{connection_file}"
    ]
}

我不确定codemirror_mode对象到底在做什么,但它似乎没有什么坏处。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33496350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档