Pip 更新conda后conda环境已损坏
在广泛使用conda一段时间后,昨天有人要求我更新它,现在一切看起来都坏了。我必须承认,我不是幕后活动的专家,所以请容忍我:) 安装conda后,我使用Pip 更新conda后conda环境已损坏,pip,anaconda,jupyter,conda,jupyter-lab,Pip,Anaconda,Jupyter,Conda,Jupyter Lab,在广泛使用conda一段时间后,昨天有人要求我更新它,现在一切看起来都坏了。我必须承认,我不是幕后活动的专家,所以请容忍我:) 安装conda后,我使用pip安装了各种软件包。 昨天,我开始编写git教程中的一些代码,该教程建议创建一个临时环境来使用: conda env create -f binder/environment.yml 在这一步,有人建议我更新conda,因为我使用的是旧版本。我在终端中找不到该特定消息(即,我找不到我以前使用的conda版本),但我现在检查conda版本时得
pip
安装了各种软件包。
昨天,我开始编写git教程中的一些代码,该教程建议创建一个临时环境来使用:
conda env create -f binder/environment.yml
在这一步,有人建议我更新conda,因为我使用的是旧版本。我在终端中找不到该特定消息(即,我找不到我以前使用的conda版本),但我现在检查conda版本时得到的信息如下:
(base) francesco ~$ conda list conda
# packages in environment at /Users/francesco/anaconda3:
#
# Name Version Build Channel
_anaconda_depends 2019.03 py36_0
anaconda custom py36_1
anaconda-client 1.7.2 py36_0
anaconda-navigator 1.8.7 py36_0
anaconda-project 0.8.4 py_0
conda 4.8.3 py36_0
conda-build 3.10.5 py36_0
conda-env 2.6.0 h36134e3_0
conda-package-handling 1.6.0 py36h1de35cc_0
conda-verify 3.4.2 py_1
更新后我注意到的一点是,为了激活/停用环境,我必须使用conda activate/deactivate
,而不是source activate/deactivate
在那之后,我在新环境中使用代码,没有任何问题
今天,我尝试激活我使用的主环境,但我被要求首先使用以下工具“初始化”我的shell:
conda init bash
之后,我激活了我的“常规”环境:
conda activate testenv
我试着启动Jupyter实验室,但出现了以下错误:
(testenv) francesco ~$ jupyter lab
Error executing Jupyter command 'lab': [Errno 2] No such file or directory
发生了什么事?为什么Jupyter实验室不再在我通常的环境中工作
我在testenv
中检查了安装,一切正常:
(testenv) francesco ~$ conda list | grep jup
jupyter 1.0.0 py37_7
jupyter_client 5.2.4 py37_0
jupyter_console 6.0.0 py37_0
jupyter_core 4.4.0 py37_0
(testenv) francesco ~$ pip list | grep jup
jupyter 1.0.0
jupyter-client 5.2.4
jupyter-console 6.0.0
jupyter-core 4.4.0
(testenv) francesco ~$
有人知道发生了什么事吗?这对我来说是一个巨大的问题,因为conda/jupyter实验室是我工作时使用的主要工具:\通常的做法是只在一个conda环境中安装jupyter(如果是Anaconda用户,通常是您的基础环境),并始终从那里启动jupyter。要在Jupyter中使用其他Python环境,您需要在这些环境中安装
ipykernel
,例如
conda install -n testenv ipykernel
而且,为了避免注册额外的环境,建议使用Jupyter在环境中安装nb_conda_内核
,例如
conda install -n base nb_conda_kernels
顺便说一句,使用Pip安装东西会使环境不稳定。我强烈建议您学习并遵守。通常的做法是只在单个Conda环境中安装Jupyter(如果是Anaconda用户,通常是您的基础环境),并始终从那里启动Jupyter。要在Jupyter中使用其他Python环境,您需要在这些环境中安装
ipykernel
,例如
conda install -n testenv ipykernel
而且,为了避免注册额外的环境,建议使用Jupyter在环境中安装nb_conda_内核
,例如
conda install -n base nb_conda_kernels
顺便说一句,使用Pip安装东西会使环境不稳定。我强烈建议您学习并坚持。@FrancescoLS您似乎安装了一个较旧版本的Conda(?),因为这表明
源代码激活被弃用,取而代之的是Condav4.4.0
中的Conda激活(这篇来自Anaconda的“帖子”中也提到了这一点)
这真的不是一个“答案”,在任何可行的方式,但似乎你不是唯一在康达更新打破人们的环境
- 还有很多/李>
我认为可以肯定地说,在升级过程中保持虚拟环境的安全完整是很难做到的,而在跨虚拟环境维护者(Conda)进行重大升级时,则更难做到。这就是我个人尝试让我的所有项目虚拟环境在本地Python 3venv
虚拟环境中使用pip
或通过(它们现在(或至少过去)比通过康达较慢的解算器更快地恢复)来维护的原因之一然后,只有在需要引入多个外部二进制应用程序时才使用Conda
您是否能够为您的工作创建一个新的Conda环境来有效地恢复它(可能是从您自己的环境.yml
文件中恢复)?@FrancescoLS您似乎安装了一个旧版本的Conda(?)正如所示,source activate
被弃用,取而代之的是condav4.4.0
中的conda activate
(正如Anaconda的这篇“博文”中所述)
这真的不是一个“答案”,在任何可行的方式,但似乎你不是唯一在康达更新打破人们的环境
- 还有很多/李>
我认为可以肯定地说,在升级过程中保持虚拟环境的安全完整是很难做到的,而在跨虚拟环境维护者(Conda)进行重大升级时,则更难做到。这就是我个人尝试让我的所有项目虚拟环境在本地Python 3venv
虚拟环境中使用pip
或通过(它们现在(或至少过去)比通过康达较慢的解算器更快地恢复)来维护的原因之一然后,只有在需要引入多个外部二进制应用程序时才使用Conda
您是否能够为您的工作创建一个新的Conda环境来有效地恢复它(可能是从您自己的环境.yml
文件中恢复)?您的Conda列表
输出没有显示jupyer lab。可能是更新意外删除了它。尝试通过conda install jupyterlab
重新安装它。你说得对,我重新安装了它,它成功了。这不是很奇怪吗?原则上,我在任何环境中安装的所有软件包都可能是这种情况,对吗?在安装conda之后,我使用[pip]来安装各种软件包。做这件事时要小心,看。@cel“不小心把它拿走了”有点怀疑它。在我看来,这更像是他们第一次将Conda升级到v4.4以上,当其他环境被激活时,这将使基本环境脱离路径。因为新环境没有安装Jupyter实验室,所以它不可用;B