康达激活不起作用?
Posted
技术标签:
【中文标题】康达激活不起作用?【英文标题】: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
关闭当前终端并打开另一个终端对我有用。
【参考方案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 用户)
-
将 conda 添加到路径(即添加到您的环境变量 - 确切地说是脚本文件夹),即 C:\Users\kboys\anaconda3\Scripts
重新打开 cmd,输入 activate 和目标环境的名称,即
$ activate <env_name>
$ activate tensorflow
注意这种方式你不需要调用 conda。
【讨论】:
【参考方案8】:anaconda函数默认是不导出的,可以使用如下命令来完成:
source ~/anaconda3/etc/profile.d/conda.sh
conda activate my_env
【讨论】:
【参考方案9】:您是否尝试过 Anaconda 命令提示符 或 cmd 它对我有用。在 PowerShell 中没有给出错误并且激活不起作用可能是一些路径问题。
【讨论】:
【参考方案10】:只需在你的 cmd 中使用这个命令:
activate <envname>
像魅力一样工作! (适用于windows,不了解mac)
【讨论】:
【参考方案11】:在 Linux 中安装 conda 后,如果您尝试创建 env,只需键入 bash 并稍后按 Enter 即可创建 env
【讨论】:
【参考方案12】:如果您的控制台在运行conda activate base
后没有显示(base)
,请尝试运行:
conda init
然后运行conda activate <your_env>
应该在shell 提示符的开头显示(<your_env>)
的名称。
这在 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 终端对我有用的方法:
source activate env-name
- 您现在应该会看到您的行附加了 (base) 标记。
在调用source activate
后,我发现以下conda activate
命令可以工作:即conda activate env2-name
Git Bash(作为 VS Code 终端)对我不起作用的地方:activate env-name
和 conda activate env-name
。
不完全确定为什么在 VS Code 上的 Git Bash 终端上会出现这种特定行为,但接受的答案 + 我发现的这个 *** 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 本身没有返回此错误。
【讨论】:
当我在另一个上下文中遇到同样的错误时,我跟随***.com/questions/44537131/… 并在那里@User1024 的答案,添加了一个Path 变量。 哇!尝试了 1000 种方法,但最后你的小费奏效了。我只需要使用 CALL conda.bat activateconda 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 ...
按我的预期工作。以上是关于康达激活不起作用?的主要内容,如果未能解决你的问题,请参考以下文章
在 weka 中,simpleEducationalLearningSchemes 包不起作用