gpt4 book ai didi

python - Jupyter notebook,如何在正确的conda环境下执行系统shell命令?

转载 作者:行者123 更新时间:2023-12-03 19:45:25 27 4
gpt4 key购买 nike

我目前在使用 jupyter notebook 和系统 shell 命令时遇到了一些问题。我使用 nb_conda_kernels 能够从在基本环境中启动的 jupyter 笔记本访问我的所有 conda 环境,这在我的大多数用例中都非常有效。为简单起见,假设我有 2 个环境,一个是基础环境,一个名为 work_env。我在基础环境中启动 jupyter notebook,并在打开我正在使用的 notebook 时选择 work_env 内核。

今天我遇到了这条线:

! pip install kaggle --upgrade

执行单元后(正确激活了 work_env 内核),pip 在我的基础环境中安装了 kaggle 包。预期的结果是在我的 work_env 中安装这个包。关于如何使 shell 命令在 jupyter notebook 的“正确”环境中执行的任何想法?

最佳答案

尝试指定当前的 python 解释器。

import sys

!$sys.executable -m pip install kaggle --upgrade
sys.executable返回当前正在运行的 python 解释器的路径。 $将该变量传递给您的终端( ! 在终端上运行命令)。

Aliases expand Python variables just like system calls using ! or !! do: all expressions prefixed with ‘$’ get expanded. For details of the semantic rules, see PEP-215


来自 https://ipython.org/ipython-doc/3/interactive/magics.html -m用于将库模块(在本例中为 pip)作为脚本运行(检查 python -h)。运行 pip作为一个脚本,可以保证您使用的是链接到当前 python 解释器的 pip,而不是系统变量指定的 pip。
因此,通过这种方式,您可以确定 pip 正在将依赖项安装在您正在使用的同一个 python 解释器上(安装在您当前的环境中),这可以解决问题。

关于python - Jupyter notebook,如何在正确的conda环境下执行系统shell命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54519130/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com