Warm tip: This article is reproduced from serverfault.com, please click

python-Jupyter Notebook内核与Conda环境不同

(python - Jupyter notebook kernel different from conda environment)

发布于 2020-12-01 11:44:50

尝试在jupyter笔记本内核中复制conda环境时遇到问题。我创建了一个conda环境,mlflow并通过激活它来导入mlflow,如下所示:

[ 12:36:18 ] ~ base ❯ conda activate mlflow
[ 12:36:21 ] ~ mlflow ❯ python
Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import mlflow
>>>

然后,我继续在jupyter中安装内核,如下所示:

python -m ipykernel install --name mlflow

但是,一旦进入mlflowjupyter内核,我将无法导入相同的模块mlflow为什么会这样呢?它怀疑问题是C:\Users\userx\AppData\Roaming\jupyter\kernels\mlflow\kernel.json指向错误的python:

{
 "argv": [
  "C:\\Users\\userx\\Anaconda3\\python.exe",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "mlflow",
 "language": "python"
}

而它应该指向mlflow环境中的python 但是,我尝试对其进行更改,导致笔记本电脑启动时出现故障。

更多细节:

[ 12:39:27 ] ~ base ❯ jupyter --path
config:
    C:\Users\userx\.jupyter
    C:\Users\userx\Anaconda3\etc\jupyter
    C:\ProgramData\jupyter
data:
    C:\Users\userx\AppData\Roaming\jupyter
    C:\Users\userx\Anaconda3\share\jupyter
    C:\ProgramData\jupyter
runtime:
    C:\Users\userx\AppData\Roaming\jupyter\runtime

编辑

如果我在环境中安装jupyter,然后从环境中启动笔记本,这似乎可以工作。但是,很高兴知道如何使用中的jupyter进行相同的操作base

Questioner
yatu
Viewed
11
74.4k 2020-12-01 20:36:06

尝试给出完整的conda python路径,看看是否可以解决该问题:

C:\Users\<username>\anaconda\envs\<environment-name>\bin\python -m ipykernel install --name mlflow

未找到ipykernel的原因是未将其安装在正确的python环境中。使用“ python -m”可以引用conda之外的本地python,也可以引用基本环境中的python。指定完整路径仅能确保将其安装在正确的环境中。