Jupyter Notebook 内核与 conda 环境不同
Jupyter notebook kernel different from conda environment
我在尝试在 jupyter notebook 内核中重现 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
但是,一旦进入 jupyter 的 mlflow
内核,我就无法导入相同的模块,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 并从环境中启动笔记本,这似乎可行。但是,在 base
.
中知道如何使用 jupyter 来做同样的事情还是很高兴的
尝试提供完整的 conda python 路径,看看是否可以解决问题:
C:\Users\<username>\anaconda\envs\<environment-name>\bin\python -m ipykernel install --name mlflow
找不到ipykernel的原因是没有安装在正确的python环境中。使用“python -m”可能会引用 conda 外部的原生 python 或基础环境中的 python。指定完整路径只是确保它安装在正确的环境中。
我在尝试在 jupyter notebook 内核中重现 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
但是,一旦进入 jupyter 的 mlflow
内核,我就无法导入相同的模块,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 并从环境中启动笔记本,这似乎可行。但是,在 base
.
尝试提供完整的 conda python 路径,看看是否可以解决问题:
C:\Users\<username>\anaconda\envs\<environment-name>\bin\python -m ipykernel install --name mlflow
找不到ipykernel的原因是没有安装在正确的python环境中。使用“python -m”可能会引用 conda 外部的原生 python 或基础环境中的 python。指定完整路径只是确保它安装在正确的环境中。