Sta*_*ean 4 python jupyter-notebook
我目前在使用 jupyter notebook 和系统 shell 命令时遇到了一些问题。我使用 nb_conda_kernels 能够从在基本环境中启动的 jupyter notebook 访问我的所有 conda 环境,这在我的大多数用例中都非常有效。为简单起见,让我们假设我有 2 个环境,一个基础环境和一个名为 work_env 的环境。我在基本环境中启动 jupyter notebook,并在打开我正在处理的 notebook 时选择 work_env 内核。
今天我遇到了这条线:
! pip install kaggle --upgrade
Run Code Online (Sandbox Code Playgroud)
执行单元后(正确激活 work_env 内核),pip 在我的基本环境中安装了 kaggle 包。预期的结果是在我的 work_env 中安装这个包。关于如何在 jupyter notebook 的“正确”环境中执行 shell 命令的任何想法?
尝试指定当前的 python 解释器。
import sys
!$sys.executable -m pip install kaggle --upgrade
Run Code Online (Sandbox Code Playgroud)
sys.executable返回当前正在运行的 python 解释器的路径。$将该变量传递给您的终端(!在终端上运行命令)。
别名扩展 Python 变量就像使用 ! 或者 !!做:所有以“$”为前缀的表达式都得到扩展。有关语义规则的详细信息,请参阅 PEP-215
来自https://ipython.org/ipython-doc/3/interactive/magics.html
-m用于将库模块(pip在本例中)作为脚本(检查python -h)运行。pip作为脚本运行可确保您使用链接到当前 python 解释器的 pip 而不是系统变量指定的那个。
因此,通过这种方式,您可以确定 pip 在您正在使用的同一个 Python 解释器(安装在您当前的环境中)上安装依赖项,这就是诀窍。
| 归档时间: |
|
| 查看次数: |
11123 次 |
| 最近记录: |