尝试在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
但是,一旦进入mlflow
jupyter的内核,我将无法导入相同的模块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
。
尝试给出完整的conda python路径,看看是否可以解决该问题:
C:\Users\<username>\anaconda\envs\<environment-name>\bin\python -m ipykernel install --name mlflow
未找到ipykernel的原因是未将其安装在正确的python环境中。使用“ python -m”可以引用conda之外的本地python,也可以引用基本环境中的python。指定完整路径仅能确保将其安装在正确的环境中。
确实确实可以解决问题!那么,您可以添加更多详细信息吗?因此,问题在于内核已定义为启动错误的python?
我已经编辑了答案以提供更多信息。如果这样可以解决问题,请执行“标记为答案”。谢谢。
谢谢,非常有用!