首页 > 解决方案 > Conda 环境内核在调用时消失

问题描述

编辑:问题解决了。

事实证明,由于新的 conda 安装(并且处于静默模式,我从未发现),Avast 将环境中的 python.exe 归类为病毒。从这里找到的解决方案:https ://github.com/ContinuumIO/anaconda-issues/issues/8266

__

我有一个问题,我没有看到其他任何人直接使用 conda 环境和 python 内核。

我可以成功创建环境并在其中安装软件包等,但是每次我尝试(i)启动 jupyter notebook 或(ii)以其他方式调用环境内核时,例如 VS Code jupyter 扩展,内核环境内核“消失”完全来自有问题的环境。

在以前的 jupyter 案例中,环境在第一次调用“jupyter-notebook”时成功启动了笔记本浏览器窗口,但大约 5-10 秒后浏览器死机并出现连接错误(我允许我的浏览器通过防火墙等)这没有帮助)。尝试从命令行再次调用 notebook 会导致"Unable to create process using 'C:\Users\user\miniconda3\envs\envname\python.exe C:\Users\user\miniconda3\envs\envname\Scripts\jupyter-notebook-script.py'错误,之后where python在命令行中调用 " " 只会返回基本内核,并失去与环境内核的所有连接。

在使用 jupyter 扩展的 VS Code 案例中,我正确地被提示选择 python 解释器并再次成功管理以执行大约 5-10 秒的单元格,直到 VS Code 返回“错误:直接内核连接断开”之后再次内核只是从 VS Code 的命令行和内核菜单中完全消失。

环境中的文件似乎没有改变(AFAIK),我对发生的事情完全感到困惑。

在所有这些中,基本内核似乎运行良好,所以我冒昧地猜测这与 jupyter 调用环境内核的方式有关,并在此过程中以某种方式破坏了它们。几个月前,我在相同的设置上成功运行了多个环境。问题最初发生在我创建一个新环境时,为该环境启动了 VS Code,该环境无意中没有安装 ipykernel,并且在收到 VS Code 提示我安装 ipykernel 后,每个预先存在的环境都开始失败如上所述。在此之后,我重新安装了 Anaconda,但我无法让单一环境工作。

通常如何创建环境的最小示例:

conda create --name envname_1 python=3.7

在使用 conda 测试和安装一些软件包时,我多次克隆了基本环境以依次测试内核是否一直失败

conda create --name envname_2 --clone envname_1

等等。无论环境如何,问题仍然存在。激活环境后

conda activate envname

在环境中询问“ where python”最初正确返回

C:\Users\user\miniconda3\envs\envname\python.exe
C:\Users\user\miniconda3\python.exe

在某些 jupyter-context 中调用内核并使其失败后,where python命令行中的“”仅返回

C:\Users\user\miniconda3\python.exe

我在 Windows 10 Home 64 位(版本 2004,OS build 19041.867)上运行,miniconda3 4.9.2 和基本环境 python 3.8.5(测试的环境内核主要是 3.7.x,但 3.8.x 还没有到目前为止的测试差异)。Miniconda 安装在我的 C:\Users\user\miniconda3 目录中。(我不确定这里还有哪些其他细节会有所帮助)。

到目前为止,我已经尝试过:

  1. 通过使用 1)anaconda-clean,然后在从标准 conda 运行卸载之前分别删除“envs”和“pkgs”文件夹,尽可能完全地从我的计算机中清除所有与 conda 相关或与 python 相关的内容。Miniconda 只是最新的第 n 次重新安装,之后同样的问题仍然存在。

  2. 以不同的方式设置多个测试环境并按顺序测试发生错误的位置 - 似乎总是在以一种或另一种方式激活内核时

  3. 在重新安装之前删除所有可能相关的路径变量

  4. 删除所有其他 python 版本(正确开始将 python 指向基本环境 - 在此之前,另一个问题是命令行上的每个环境都试图指向我的全局 python 安装而不是基本或环境内核 - 这可能是某种程度上与这里发生的事情有关)

  5. 尝试各种与 jupyter-notebooks 在笔记本中丢失内核相关的其他小事情,但大多数都没有适用,因为在调用内核工作一次后我什至无法使用命令行。

  6. 在创建环境内核在环境中正确指向的新环境时的每一步都经过验证,直到从 jupyter 或 VS Code 调用它(+ jupyter lab 似乎具有相同的结果)

我是一个谦虚的人,要求不高,只是想在未来继续在孤立的环境中工作。当涉及到这些事情时,我并不是一个高手,所以我不确定我应该去哪里寻找或者我应该尝试什么。我开始失去希望,因为我一直在努力解决这个问题,现在已经过了一个好星期,没有任何东西可以展示。

我希望我只是一个白痴,在这里忽略了一些简单而明显的事情,因为我没有设法找到任何类似的问题已经解决。无论如何,任何关于我下一步可能去哪里的想法都是无价的!

标签: pythonjupyter-notebookanacondavirtual-environment

解决方案


推荐阅读