- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经在 Ubuntu Server 18 上安装了最新的 anaconda 版本:4.7.12
。
为什么在终端中,conda deactivate
而/root/newinstall/anaconda3/bin/conda deactivate
没有?
这是 which conda
的输出:
(base) root@jenkinstest:~# which conda
/root/newinstall/anaconda3/bin/conda
当我运行 /root/newinstall/anaconda3/bin/conda deactivate
时,我预计 conda deactivate
命令会出现相同的行为,因此会停用当前的 conda 环境。
但是如果我运行 /root/newinstall/anaconda3/bin/conda deactivate
,我会收到以下错误:
(py36) root@jenkinstest:~# /root/newinstall/anaconda3/bin/conda deactivate
CommandNotFoundError: Your shell has not been properly configured to use 'conda deactivate'.
To initialize your shell, run
$ conda init <SHELL_NAME>
Currently supported shells are:
- bash
- fish
- tcsh
- xonsh
- zsh
- powershell
See 'conda init --help' for more information and options.
IMPORTANT: You may need to close and restart your shell after running 'conda init'.
请注意,我已经按照建议使用了 conda init shell
,并且我还重新启动了 shell session 。但仍然出现同样的错误。
最佳答案
当使用 bash(或 ash、zsh 或 dash)作为 shell 时,conda
实际上是一个函数,而不是一个命令,并且which
不会向您显示其定义。
conda
cli(命令行界面)仅用于支持设置 shell 集成,这就是您看到 conda init
的原因错误信息。
如果不是 which conda
你跑type conda
,你会看到它的定义。或者查看 etc/profile.d/conda.sh
definition on GitHub . conda deactivate
运行 __conda_activate deactivate
等。其他 shell 集成的工作方式相同。
Conda 使用特定于 shell 的集成,因此如果您不在 bash 上,则应应用其中之一:
etc/profile.d/conda.csh
etc/fisd/conf.d/conda.fish
conda.xsh
condabin/Conda.psm1
(通过 condabin/conda-hook.ps1
作为模块导入)condabin/conda_hook.bat
从那里 condabin/conda.bat
和 condabin/_conda_activate.bat
.在引擎盖下然后这会使用您的 conda
cli,但添加了当前的 shell 信息。这些命令被隐藏是有原因的;它们依靠 shell 集成来确保发出和评估正确的 shell 命令在您当前的 shell 中。您不能从新进程执行此操作,因为子进程无法更改您的 shell 环境并设置类似 PATH
的内容。或添加或删除其他 shell 变量。
所以 conda deactivate
在 bash 中改为使用 bash 函数调用,然后当该函数调用执行时 /root/newinstall/anaconda3/bin/conda shell.posix deactivate
它作为 eval
instruction 的一部分这样做. .../conda shell.posix deactivate
命令输出一系列 bash 命令,其中 eval
然后在您当前的 shell 中执行,因此停用 conda 环境配置。
因此,如果您真的、真的想使用该命令行工具,您必须自己评估它的输出:
eval `/root/newinstall/anaconda3/bin/conda shell.posix deactivate`
以上内容当然特定于 bash(兼容)shell! `
/root/newinstall/anaconda3/bin/conda shell.posix deactivate
周围的反引号告诉 bash 将命令的输出作为字符串提供给 eval
.如果你在没有 eval `...`
的情况下运行它部分,您将看到它发出的命令:
(base) root@jenkinstest:~# /root/newinstall/anaconda3/bin/conda shell.posix deactivate
export PATH='/root/newinstall/anaconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin'
unset CONDA_PREFIX
unset CONDA_DEFAULT_ENV
unset CONDA_PROMPT_MODIFIER
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
export CONDA_SHLVL='0'
export CONDA_EXE='/root/newinstall/anaconda3/bin/conda'
export _CE_M=''
export _CE_CONDA=''
export CONDA_PYTHON_EXE='/root/newinstall/anaconda3/bin/python'
(请注意,这只会在 事件的 conda 环境 中产生输出)。
关于python - 为什么 <path to conda> deactivate 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59030994/
尝试使用命令 conda update conda 从终端更新 conda 时出现错误.它在说: Solving environment: failed UnsatisfiableError: The
在 conda 中,当我尝试安装软件包时,出现此错误: CorruptedEnvironmentError: The target environment has been corrupted. C
我想在一个特定的 conda 环境中安装带有 conda 的程序,并能够使用来自所有 conda 环境的相关命令。 我的目标是让学生在任何平台(尤其是 Windows)上安装 Mercurial(加上
我遇到了一个麻烦的问题。 我的 pip 和 /home/xxx/local/anacoda2/bin 的 python 都可以,但是 conda 仍然不起作用。当我在我的 ubuntu16.04 终端
我已经在普通机器上设置了 Conda 环境。它工作正常。我想在一台无法访问互联网的机器上克隆这个环境(我只能通过 SSH 进入)。 我最初的想法是压缩 Conda 留下的包缓存并将其移动到气隙机器上的
我想要两个环境:生产环境是测试环境的严格子集。我如何使用 Conda(或 micromamba)实现这一目标? 测试需要一些不需要捆绑在生产 docker 镜像中的额外实用程序。主要思想是确保生产安装
每次打开终端时都会显示以下代码行。 Traceback (most recent call last): File "", line 3, in ImportError: No module n
我尝试使用以下命令更新 conda: ~$ conda update conda 它输出以下消息: WARNING conda.base.context:use_only_tar_bz2(632):
如何仅列出 conda 中针对特定环境显式安装的软件包?有没有办法做到这一点? 最佳答案 @Sjlver 的评论链接到的页面( https://github.com/conda/conda/issue
conda 文档指定: conda clean [-h] [-y] [--dry-run] [--json] [--debug] [--verbose] [-q] [-a] [-i] [-l] [-t
当我克隆一个 Conda 环境时 conda create --name thenewenv --clone theorigenv 我注意到 theorigenv 的修订历史丢失了 conda act
我在 Conda 环境中安装了一堆软件包,包括带有 NVIDIA 工具包的 docker 容器和一些其他非 python 库。安装占用了大约 10 GB 的磁盘空间。但是当我删除 Conda 环境时,
documentation指出克隆以这种方式工作:conda create --name myclone --clone myenv但是,这将始终默认创建环境 myclone进入我几乎没有磁盘存储空间
这个问题在这里已经有了答案: Why are packages installed rather than just linked to a specific environment? (1 个回答)
How to list package versions available with conda有有用的答案,其中之一在 https://stackoverflow.com/a/47795843/2
后 conda update --all 我无法再启动 spyder。如果我在终端中运行 spyder,我会收到以下错误: /anaconda3/bin/pythonw: line 3: /anaco
对于给定的 conda包,我如何列出依赖它的包? 我最近在一个已经有 MPI (openmpi) 版本的大学集群上安装了 anaconda。 mpich2包和mpi4py与 anaconda 一起安装
创建虚拟环境时可以将路径/Users/nolan/miniconda/envs/更改为另一个路径吗?我希望它特定于我的项目目录。 (正如我们可以使用 virtualenv 所做的那样) $conda
激活 conda 环境时,conda 会记住之前激活的环境。例如,如果没有激活任何环境,则调用 conda activate foo 然后调用 conda deactivate 将导致没有任何环境处于
我使用 PyCharm 创建了一个带有 conda 解释器的项目。 Pycharm自动为其创建conda环境。不久之后,我意识到我想要该项目的另一个地点。因此我删除了项目文件夹。然后我意识到我要删除
我是一名优秀的程序员,十分优秀!