【问题标题】:Conda activate not working?康达激活不起作用?
【发布时间】:2018-04-25 01:46:33
【问题描述】:
 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。没有变化,为什么?

【问题讨论】:

  • 你检查你的 env 文件夹了吗?我的是空的,因为我没有提供 python 版本。如果它的空被激活但没有 python。
  • 在你的 cmd 中使用这个:activate <envname>
  • 对于遇到此问题的其他人,问题也可能是这个已知的错误:github.com/conda/conda/issues/9392
  • 关闭当前终端并打开另一个终端对我有用。

标签: anaconda conda


【解决方案1】:

我有同样的问题,但对于 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】:
    • 在cmd中运行conda init
    • 重启cmd
    • 运行conda activate envName

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        我刚刚在 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

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

        【讨论】:

          【解决方案5】:

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

          $ source activate env_name
          

          对我来说:$ activate env_name$ conda activate env_name 不起作用!

          检查激活的 conda 环境列表,在我的例子中,我使用

          $ conda env list
          

          $ conda info --envs
          

          激活的环境以*开头

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

          【讨论】:

          • 它对我有用,是迄今为止我找到的最佳解决方案。(我使用的是 Google Cloud Platform)。
          【解决方案6】:

          set-executionpolicy remotesigned Set-ExecutionPolicy 不受限制

          【讨论】:

          • 请添加格式和解释。
          【解决方案7】:

          您好,让我分享一下对我有用的方法。 (WINDOWS 用户)

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

          $ activate &lt;env_name&gt;

          $ activate tensorflow

          注意这种方式你不需要调用 conda。

          【讨论】:

            【解决方案8】:

            anaconda函数默认是不导出的,可以使用如下命令来完成:

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

            【讨论】:

              【解决方案9】:

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

              【讨论】:

                【解决方案10】:

                只需在你的 cmd 中使用这个命令:

                activate &lt;envname&gt;

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

                【讨论】:

                  【解决方案11】:

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

                  【讨论】:

                    【解决方案12】:

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

                    conda init

                    然后运行conda activate &lt;your_env&gt; 应该在shell 提示符的开头显示(&lt;your_env&gt;) 的名称。

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

                    【讨论】:

                      【解决方案13】:

                      如果对您没有任何帮助,您可以通过 conda 指定您的 python 环境设置的完整路径。

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

                      我使用

                      搜索了所有python环境
                      whereis python | grep 'miniconda'
                      

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

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

                      你也可以在 windows 上做同样的事情,但是查找 python 和 conda python 环境有点不同。

                      【讨论】:

                        【解决方案14】:

                        默认情况下,函数不会导出以在子shell中可用。我建议你这样做:

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

                        在上述命令中,将 ~/anaconda3/ 替换为您的 miniconda / anaconda 安装路径。

                        【讨论】:

                        • 在没有活动的 shell 接口(或伪接口)的情况下工作,这是迄今为止最好的也是唯一的解决方案。
                        • 请注意,您也可以使用 ${CONDA_PREFIX_1},而不是 ~/anaconda3 以获得更强大的解决方案
                        【解决方案15】:

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

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

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

                        Git Bash(作为 VS Code 终端)对我不起作用的地方:activate env-nameconda activate env-name

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

                        【讨论】:

                          【解决方案16】:

                          对于 Windows,使用 Anaconda Powershell 提示

                          【讨论】:

                            【解决方案17】:

                            我刚刚遇到了类似的问题。 最近开始在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 本身没有返回此错误。

                            【讨论】:

                            • 当我在另一个上下文中遇到同样的错误时,我跟随stackoverflow.com/questions/44537131/… 并在那里@User1024 的答案,添加了一个Path 变量。
                            • 哇!尝试了 1000 种方法,但最后你的小费奏效了。我只需要使用 CALL conda.bat activate . 启动我的 bat 文件
                            • 在我的 cmd 中执行 conda init 后,conda activate 工作了,谢谢回答
                            【解决方案18】:

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

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

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

                            在我的例子中,命令如下。

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

                            【讨论】:

                              【解决方案19】:

                              在windows环境下使用“anaconda prompt”而不是“command prompt”。

                              【讨论】:

                              • 谢谢。在 Windows 10 上的 Powershell 中,什么也没发生,没有错误消息,也没有环境激活。使用“anaconda prompt”有效。
                              【解决方案20】:

                              我刚刚用 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 的问题。

                              【讨论】:

                              • 以上说明假定 Mac/Linux 环境参考了 Bash 或 Bourne 变体 shell。标准的 Windows CMD shell 怎么样?我的 miniconda3/etc/profile.d 文件夹只有 conda.sh 和 conda.csh 文件,但没有 Windows conda.bat 版本。是否存在支持这些说明的方法?谢谢。
                              • 我遵循了这些说明,但我仍然收到该错误,即使 conda 似乎可以正常工作。这很奇怪。
                              【解决方案21】:

                              试试这个:

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

                              然后source ~/.bashrc 这对我同样适用。

                              【讨论】:

                              • 这也是没有主文件夹的安装的答案。有时只有一个根“用户”而没有主目录。只需将 miniconda/bin 或 anaconda3/bin (无论您安装在哪里)的路径添加到 $PATH ,它就应该开始运行了。例如export PATH=/root/minconda3/bin:$PATH
                              【解决方案22】:

                              要通过 Windows CMD 而不是 Anaconda 提示符 使用“conda activate”:
                              (针对 okorng 的问题,虽然使用 Anaconda Prompt 是首选)

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

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

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

                              然后直接从 Windows CMD 调用:

                              activate <environment_name>
                              

                              不使用前缀“conda”。

                              (在带有 Anaconda3-5.2.0 的 Windows 7 Enterprise 上测试)

                              【讨论】:

                              • 请注意,您需要拥有管理员权限才能完成此操作。如果您在没有管理员权限的情况下使用上述过程添加路径,则不会引发错误。但是,如果您关闭并重新打开命令提示符并运行 echo %PATH%,您的更改将不会出现。
                              • @Foggy 您还可以在没有管理员权限的情况下将 Anaconda\Scripts PATH 添加到“用户环境变量”中(在 Win 7 和 Win 10 上)。然后,这些将“持续”用于新的命令提示符(在您的机器第一次注销/重新启动之后)。
                              • @stephinity 谢谢这是唯一对我有用的解决方案,在 Windows 10 环境中。
                              【解决方案23】:

                              从 conda 4.4 开始,命令

                              conda activate <envname>
                              

                              在所有平台上都是相同的。将conda 添加到非Windows 平台的PATH 环境变量的过程(在Windows 上,您应该使用Anaconda Prompt),以及环境激活过程的更改,在conda 4.4 的release notes 中有详细说明.0.


                              对于低于 4.4 的 conda 版本,命令是任一

                              source activate <envname>
                              

                              在 Linux 和 macOS 上或

                              activate <envname>
                              

                              在 Windows 上。您需要删除conda

                              【讨论】:

                              • 无法将源与鱼一起使用。
                              • 那么您需要将该要求添加到您的帖子中。
                              • 另外,根据这篇文章,source 是正确的命令:superuser.com/a/84624/229278 您可能需要安装一些额外的依赖项:superuser.com/a/1235985/229278
                              • 我在 Windows 上获得CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'. 后发现了这个问题。解决方法是使用activate ... 而不是conda activate ...
                              • @darthbith。这是你的答案,我不是 python 专家,所以做你认为最好的。但是,我在 Windows 上有 conda 4.5.4,对我来说 conda activate ... 返回 CommandNotFoundError,而 activate ... 按我的预期工作。
                              猜你喜欢
                              • 1970-01-01
                              • 1970-01-01
                              • 2018-06-25
                              • 2012-12-01
                              • 2016-04-14
                              • 2021-10-23
                              • 1970-01-01
                              • 1970-01-01
                              相关资源
                              最近更新 更多