Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用特定的virtualenv在Jupyter笔记本中执行Python脚本_Python_Python 3.x_Jupyter Notebook_Virtualenv_Jupyter - Fatal编程技术网

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

使用特定的virtualenv在Jupyter笔记本中执行Python脚本,python,python-3.x,jupyter-notebook,virtualenv,jupyter,Python,Python 3.x,Jupyter Notebook,Virtualenv,Jupyter,我想在Jupyter笔记本中执行一个长时间运行的Python脚本,这样我就可以在运行中修改生成的数据结构 该脚本具有许多依赖项和命令行参数,并使用特定的virtualenv执行。是否可以从指定的virtualenv(与Jupyter安装不同)在笔记本中以交互方式运行Python脚本 谢谢 我发现这个链接非常有用: 确保将jupyter安装到virtualenv中。如果链接稍后消失,要点如下: 您需要创建一个新内核。您可以使用JSON文件指定内核。您的内核通常位于~/.ipython/kerne

我想在Jupyter笔记本中执行一个长时间运行的Python脚本,这样我就可以在运行中修改生成的数据结构

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


谢谢

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

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

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

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

{
  "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_模式对象到底在做什么,但它似乎没有任何危害。

一个更简单的解决方案,可以在其他笔记本电脑中使用笔记本电脑内核

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

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内核(--help)
,或者只需将目录从
~/.local/share/jupyter/kernels/
复制到
~/envs/jupyter3/share/jupyter
,如果您只想从一个笔记本运行多个kerenel。

@singer的解决方案对我不起作用。以下是有效的方法:

. /path/to/virtualenv/.venv/bin/activate
python -m ipykernel install --user --name .venv --display-name .venv
参考:(官方文档)

以下是对我有用的内容(非
conda
python): (MacOS,python的brew版本。如果您使用系统python,则可能(将)需要在每个命令前面加上
sudo

首先激活virtualenv

如果重新开始,例如,您可以使用VirtualVWrapper

$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
接下来,设置内核

(py2env)$ python -m ipykernel install --user --name py2env --display-name "Python2 (py2env)"
然后启动jupyter笔记本电脑(此步骤无需激活venv)

在jupyter笔记本的下拉菜单中:
Kernel>>更改内核>>
您应该看到
Python2(py2env)
Kernel

这也使得识别内核的python版本和并排维护变得容易

这里是详细文档的链接

基于

您可以在IPython笔记本上使用virtualenv。按照以下步骤操作,实际上不需要执行第一步,只需确保您通过
source~/path激活了您的virtualenv/

  • 将ipython内核模块安装到virtualenv中

    使用我的虚拟电视名称#激活你的虚拟电视,如果你还没有 pip安装ipykernel

  • (最重要的步骤)现在运行内核“自我安装”脚本:

    python-m ipykernel安装--user--name=my virtualenv name 根据需要替换--name参数

  • 现在,您应该能够在IPython笔记本菜单中看到您的内核:
    kernel->Change kernel
    ,并能够切换到它(您可能需要刷新页面才能将其显示在列表中)。从那时起,IPython将记住该笔记本使用哪个内核


  • nb_canda非常有用:

    conda install nb_conda
    
    因此,您可以使用conda虚拟环境创建和选择自己的python内核,并在venv中管理包

    截图 列表项

    jupyter笔记本电脑中的conda environment manager conda选项卡允许您直接从笔记本电脑中管理环境

    换内核
    您还可以使用内核菜单中的更改内核选项来选择运行笔记本的内核。不,我不这么认为。另一种解决问题的方法是使用类似PyCharm的IDE。只需选择要用于项目的virtualenv,并添加几个断点。当执行在断点处暂停时,您将能够以交互方式运行python代码。您还可以查看pdb(),不确定您是否仍然处于SO和active状态。您是否有可能提供您提到的要点链接?我必须手动将python二进制文件的路径更改为我新创建的虚拟环境的路径。也可以在
    ipython.readthedocs
    。。对于最新的引用是的,这是最新的引用,但是如果文本发生变化,那么我的引用将无效。这就是我给出git链接的原因。抱歉,没有检查您的链接:(这里的内容很好,谢谢。我想说的是,我第一次执行ipykernel安装步骤时,没有进行任何操作。不确定发生了什么(除了什么都没有)。第二次运行时,我收到一条消息,说明内核已经创建。对于步骤1,是否使用虚拟环境的脚本文件夹中的pip安装ipython内核?对于步骤2,是否使用虚拟环境的脚本文件夹中的python.exe运行脚本?对于步骤3,必须从哪个目录运行笔记本?
    conda install nb_conda