Conda 激活不起作用?

Conda activate not working?

提问人:Abhishek Bhatia 提问时间:11/12/2017 更新时间:10/9/2023 访问量:483552

问:

 gonzo  ~/a/packages  conda env list
# conda environments:
#
ppo_latest               /nohome/jaan/abhishek/anaconda3/envs/ppo_latest
root                  *  /nohome/jaan/abhishek/anaconda3

 gonzo  ~/a/packages  conda activate ppo_latest
 gonzo  ~/a/packages  which python                                                                                     (ppo_latest)
/nohome/jaan/abhishek/anaconda3/bin/python
 gonzo  ~/a/packages  conda deactivate                                                                                 (ppo_latest)
 gonzo  ~/a/packages  which python
/nohome/jaan/abhishek/anaconda3/bin/python

环境被激活,没有错误。然后我们检查它指的是哪个 python。它不会改变,为什么?

蟒蛇 康达

评论

2赞 Julian 11/5/2019
你检查过你的环境文件夹吗?我的是空的,因为我没有提供 python 版本。如果它为空,则被激活但没有python。
1赞 Swapnil 9/10/2020
在您的 CMD 中使用它:activate <envname>
1赞 user4815162342 10/2/2020
对于遇到此问题的其他人,问题也可能是这个已知错误:github.com/conda/conda/issues/9392
0赞 Mahmoud Mousa Hamad 12/12/2021
关闭当前终端并打开另一个终端对我有用。
0赞 shellcat_zero 7/3/2022
正如@Julian提到的,我发现如果我没有使用显式 Python 版本创建环境,那么它只是默认为类似而不是使用基本环境 Python 版本。这是一个意想不到的新行为,看起来更像是一个错误。/usr/bin/python

答:

152赞 darthbith 11/12/2017 #1

从 conda 4.4 开始,命令

conda activate <envname>

在所有平台上都是一样的。conda 4.4.0 的发行说明中详细介绍了添加到非 Windows 平台的环境变量的过程(在 Windows 上,应使用 Anaconda 提示符),以及环境激活过程的更改。condaPATH


对于早于 4.4 的 conda 版本,命令是

source activate <envname>

在 Linux 和 macOS 上或

activate <envname>

在 Windows 上。您需要删除 .conda

评论

4赞 Abhishek Bhatia 11/14/2017
不能将来源与鱼一起使用。
1赞 darthbith 11/14/2017
然后,您需要将该要求添加到您的帖子中。
2赞 darthbith 11/14/2017
另外,根据这篇文章,是正确的命令: superuser.com/a/84624/229278 您可能需要安装一些额外的依赖项: superuser.com/a/1235985/229278source
33赞 cedd 6/6/2018
我在上了 Windows 后发现了这个问题。解决方法是使用而不是CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.activate ...conda activate ...
1赞 cedd 6/7/2018
@darthbith。这是你的答案,我不是python专家,所以做你认为最好的事情。但是,我在 Windows 上有 conda 4.5.4,对我来说返回 CommandNotFoundError,而工作方式与我预期的那样。conda activate ...activate ...
10赞 erewok 3/23/2018 #2

我刚刚用 conda 创建了一个新环境,情况就不同了。在我弄清楚方法之前,我的有点不正确。sys.path

因此,我想指出,对于其他对 中的变化感到困惑的人,如果您已经升级了 conda 并创建了一个环境,它现在会告诉您(与以前的行为相反):conda

# To activate this environment, use
#
#     $ conda activate test
#
# To deactivate an active environment, use
#
#     $ conda deactivate

因此,激活/停用环境的新方法是像上面一样进行。

事实上,如果您从旧版本的 conda 升级并尝试上述操作,您可能会看到以下有用的消息(我做到了):

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
If your shell is Bash or a Bourne variant, enable conda for the current user with

    $ echo ". ~/anaconda/etc/profile.d/conda.sh" >> ~/.bash_profile

or, for all users, enable conda with

    $ sudo ln -s ~/anaconda/etc/profile.d/conda.sh /etc/profile.d/conda.sh

The options above will permanently enable the 'conda' command, but they do NOT
put conda's base (root) environment on PATH.  To do so, run

    $ conda activate

in your terminal, or to put the base environment on PATH permanently, run

    $ echo "conda activate" >> ~/.bash_profile

Previous to conda 4.4, the recommended way to activate conda was to modify PATH in
your ~/.bash_profile file.  You should manually remove the line that looks like

    export PATH="~/anaconda/bin:$PATH"

^^^ The above line should NO LONGER be in your ~/.bash_profile file! ^^^

更改上述内容解决了我在激活的 conda 环境中的问题。sys.path

评论

7赞 okorng 5/1/2018
上面的说明假设 Mac/Linux env 引用了 Bash 或 Bourne 变体 shell。对于标准的 Windows CMD shell 呢?我的 miniconda3/etc/profile.d 文件夹只有 conda.sh 和 conda.csh 文件,但没有 Windows conda.bat 版本。是否存在支持这些指令的指令?谢谢。
5赞 szeitlin 9/7/2018
我按照这些说明进行操作,但我仍然收到该错误,即使 conda 似乎在其他方面工作。这很奇怪。
37赞 stephinity 8/30/2018 #3

要通过 Windows CMD 而不是 Anaconda Prompt 使用“conda activate”:
(回答 okorng 的问题,尽管使用 Anaconda Prompt 是首选选项)

首先,我们需要将 activate.bat 脚本添加到您的路径中: 通过 CMD:

set PATH=%PATH%;<your_path_to_anaconda_installation>\Scripts

或者通过控制面板,打开“用户帐户”,然后选择“更改我的环境变量”。

然后直接从 Windows CMD 调用:

activate <environment_name>

不使用前缀“conda”。

(在 Windows 7 企业版上使用 Anaconda3-5.2.0 进行测试)

评论

1赞 Foggy 8/12/2020
请注意,您需要具有管理员权限才能完成此操作。如果您在没有管理员权限的情况下使用上述过程添加路径,则不会引发错误。但是,如果关闭并重新打开命令提示符,然后运行 ,则更改将不存在。echo %PATH%
0赞 stephinity 8/14/2020
@Foggy 您还可以将 Anaconda\Scripts PATH 添加到您的“用户环境变量”中,而无需管理员权限(在 Win 7 和 Win 10 上)。然后,这些将“保留”新的命令提示符(在首次注销/重新启动计算机之后)。
0赞 mnm 10/6/2021
@stephinity感谢,这是在 Windows 10 环境中唯一适合我的解决方案。
8赞 Shuai Li 6/22/2019 #4

试试这个:

export PATH=/home/your_username/anaconda3/bin:$PATH
in ~/.bashrc

然后这对我适用于同样的问题。source ~/.bashrc

评论

0赞 nlhnt 2/17/2021
这也是没有主文件夹的安装的答案。有时只有一个根“用户”,没有主目录。只需将 miniconda/bin 或 anaconda3/bin(无论您已安装它的位置)的路径添加到$PATH,它就会开始运行。例如export PATH=/root/minconda3/bin:$PATH
5赞 Shirantha Madusanka 8/24/2019 #5

在 Windows 环境中,使用“anaconda 提示符”而不是“命令提示符”。

评论

0赞 tcmb 3/17/2020
谢谢。在 Windows 10 上的 Powershell 中,什么也没发生,没有错误消息,也没有环境激活。使用“蟒蛇提示”奏效了。
1赞 Stephen Jacob 9/30/2019 #6

此解决方案适用于不想设置 PATH 的用户。

有时可能不需要设置 PATH。就我而言,我安装了 Anaconda 和另一个需要安装 Python 的软件来访问 API,并且设置 PATH 会产生难以解决的冲突。

在目录(在本例中为 Anaconda3)下,有一个名为子目录的子目录,其中存储了所有环境。使用时,请替换为环境的实际目录位置。Anacondaenvsconda activate some-environmentsome-environment

就我而言,命令如下。

conda activate C:\ProgramData\Anaconda3\envs\some-environment

69赞 Jordan Simba 12/3/2019 #7

我刚刚遇到了类似的问题。 最近开始在 Windows 上开发,所以习惯了 PowerShell。 具有讽刺意味的是,当尝试在 Git-bash 中使用“conda activate”时,我遇到了错误

$ conda activate obf

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
If using 'conda activate' from a batch script, change your
invocation to 'CALL conda.bat activate'.

To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
  - bash
  - cmd.exe
  - 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'. 

按照指示在我的 PowerShell(提升)中运行命令对我来说是有帮助的。

conda init powershell 

这在所有终端环境中都应该是正确的,只是奇怪的 PowerShell 本身没有返回此错误。

评论

1赞 questionto42 5/21/2020
当我在另一个上下文中遇到相同的错误时,我遵循 stackoverflow.com/questions/44537131/...,并在那里@User1024答案,添加一个 Path 变量。
3赞 Lucas925 11/5/2020
哇!尝试了 1000 种方法,但最终您的提示奏效了。我只需要使用 CALL conda 启动我的 bat 文件.bat激活<我的 conda 环境名称>。
2赞 Hemanth Kollipara 1/17/2021
在我的 cmd 中执行后,conda activate 起作用了,谢谢答案conda init
0赞 Anderson Oliveira 8/17/2022
Tkx brow,它解决了我的问题。
2赞 Vijay Anand Pandian 1/20/2020 #8

对于 Windows,请使用 Anaconda Powershell 提示符和命令激活虚拟环境conda

enter image description here

评论

0赞 miken32 8/10/2022
“使用 Anaconda Powershell 提示符”做什么?
1赞 Mostafa Lotfi 1/4/2023
这就是对我有用的东西。只需使用 Anaconda Prompt shell 即可执行您在 CMD 中使用的所有命令。 Windows 11 用户在这里。
30赞 sumellan shans 4/27/2020 #9

默认情况下不导出 anaconda 函数,可以使用以下命令完成:

source ~/anaconda3/etc/profile.d/conda.sh

conda activate my_env

评论

0赞 27px 6/11/2023
工作,miniconda 用户使用它source ~/miniconda3/etc/profile.d/conda.sh
1赞 decoder247 6/7/2020 #10

以下是在 Windows 上使用 VS Code 中的 Git Bash 终端的简洁步骤对我有用的东西:

  1. source activate env-name- 您现在应该看到您的行附加了 (base) 标签。

  2. 调用后,我发现以下命令可以工作:即source activateconda activateconda activate env2-name

什么对我不起作用 Git Bash(作为 VS Code 终端):和 .activate env-nameconda activate env-name

不完全确定为什么这种特定行为发生在 VS Code 的 Git Bash 终端上,但我发现的可接受的答案 + 这个 stackoverflow 问题可能会提供线索。

0赞 Wasim Khan 8/6/2020 #11

如果没有任何方法适合您,您可以通过 conda 指定 python 环境设置的完整路径。

对我来说,我使用 conda 设置了一个名为“testenv”的环境。

我使用

whereis python | grep 'miniconda'

它返回了 python 环境列表。然后我使用以下命令运行my_python_file.py。

~/miniconda3/envs/testenv/bin/python3.8 my_python_file.py

您也可以在 Windows 上执行相同的操作,但查找 python 和 conda python 环境有点不同。

10赞 alexweberk 8/10/2020 #12

如果您的控制台在运行后未显示,请尝试运行:(base)conda activate base

conda init

然后运行应该在 shell 提示符的开头显示 的名称。conda activate <your_env>(<your_env>)

这在 Windows 上对我有用。我的PATH环境变量设置正确,因此没有引发任何错误,但悄悄地失败了。conda activate base

1赞 prajwal b 8/12/2020 #13

在 Linux 中安装 conda 后,如果您尝试创建 env,只需键入 bash 并稍后按 Enter 键即可创建 env

2赞 Swapnil 8/26/2020 #14

只需在 cmd 中使用此命令:

activate <envname>

像魅力一样工作!(适用于 Windows,不了解 Mac)

0赞 Gautam Shandilya 9/16/2020 #15

您是否尝试过使用 Anaconda 命令提示符,或者 cmd 它对我有用。在PowerShell中没有错误并且激活不起作用可能是一些路径问题。

18赞 karbi 6/12/2021 #16

从 conda 4.10.1 开始,以下是在 Windows 上使用 Sublime text 3 中的 Git Bash 终端(cmd 和 Git cmd 相同)对我有用的方法:

$ source activate env_name

对我来说:而且没有用!$ activate env_name$ conda activate env_name

检查已激活的 conda 环境列表,在我的情况下,我使用

$ conda env list

$ conda info --envs

激活的环境前面加上 *

请注意,我已经将 anaconda 添加到我的路径中。

评论

1赞 Mahajna 11/23/2021
它对我有用,这是我迄今为止找到的最好的解决方案。(我正在使用 Google Cloud Platform)。
0赞 Abdul-Kareem Abdul-Rahman 9/27/2023
这在 2023 年 9 月对我有用
0赞 inyang kpongette 6/14/2021 #17

你好,让我分享一下对我有用的东西。(WINDOWS 用户)

  1. 将 conda 添加到路径(即您的环境变量 - 准确地说是脚本文件夹),即 C:\Users\kboys\anaconda3\Scripts
  2. 重新打开cmd,键入activate和目标环境的名称,即

$ activate <env_name>

$ activate tensorflow

请注意,这样你就不需要调用 conda。

-3赞 Harmony Mncube 8/2/2021 #18

Set-ExecutionPolicy RemoteSigned Set-ExecutionPolicy 不受限制

评论

1赞 8/4/2021
请添加格式和说明。
0赞 NVRSee 11/10/2021 #19

我刚刚在 miniconda 中创建了一个新环境,但是当尝试在 VSCode 的终端中激活它时,它给出了这个

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'. If using 'conda activate' from a batch script, change your invocation to 'CALL conda.bat activate'.

然后我在 VSCode 设置中发现了这个选项,terminal.integrated.shellArgs

Terminal options

默认情况下,它是“null”,但将其更改为“命令提示符”,它使 VSCode 终端中的“conda activate [my env]”命令起作用。

1赞 Bicheng.Cao 11/27/2021 #20

我根据 Apple 提示消息将我的 shell 从 更改为 并重新启动终端,这样做后它对我有用。bashzsh

评论

0赞 Travis 5/1/2022
这太棒了
12赞 Gimnath 12/27/2021 #21
  • 在 CMD 中运行conda init
  • 重新启动 CMD
  • conda activate envName
3赞 Ahmed Awaad 12/30/2021 #22

我有同样的问题,但对于 linux,这有效: 在终端类型中:

$ bash
$ conda init
$ cd /path_that_include_env_dir
$ conda activate ./<env_name>

$ conda activate /env_path

“env_path”是完整的环境路径:/home/usr/env_dir

检查环境列表及其路径 $ conda 环境列表

2赞 Sezai Yakut 3/14/2022 #23

转到设置并从 Power Shell 将“shell 路径”更改为“cmd”。 我在 Windows 10 上使用 PyCharm,这解决了我的问题。 settings>tools>terminal>shell 路径>cmd

评论

1赞 Community 3/15/2022
您的答案可以通过额外的支持信息得到改进。请编辑以添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以在帮助中心找到有关如何写出好答案的更多信息。
4赞 ploshchik 4/22/2022 #24

就我而言,将默认终端更改为命令 promt (cmd.exe) 起到了作用。VS Code - Windows 10

8赞 sw_aka 7/31/2022 #25
conda init

在命令提示符下运行此命令。

为我工作。

0赞 ofir_aghai 2/28/2023 #26

对于在 Windows cmd/终端
中使用 anaconda 激活,非常简单
Run as Administrator

0赞 Irfan Farhat 10/9/2023 #27

截至 2023 年 10 月,我安装了 Anaconda 并创建了一个新环境。IT 在 Windows PowerShell 中运行良好。它表明我现在可以使用 Conda activate 激活环境,但是当我运行该命令时,它不起作用。

我所要做的就是在 Windows PowerShell 中运行以下命令(正如 Jordan 所提到的):

conda init

之后,Windows PowerShell 将显示重新启动 PowerShell 的通知,一旦我重新启动它,它就可以正常工作,并且我能够正确激活/停用我的环境。