Conda激活无效

时间:2019-08-02 20:18:51

标签: python windows powershell

试图在我朋友的PC上安装anaconda并遇到此问题[我已修复它,但找不到答案,所以我想在这里发布它] PC不会加载anaconda环境, 键入时

>>conda activate base
>>conda info

 active environment : None

python可以运行,但是会出现此警告

>> python
Python 3.7.3 (default, Mar 27 2019, 17:13:21) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32

Warning:
This Python interpreter is in a conda environment, but the environment has
not been activated.  Libraries may fail to load.  To activate this environment
please see https://conda.io/activation

Type "help", "copyright", "credits" or "license" for more information.
>>>

3 个答案:

答案 0 :(得分:0)

那么如何解决:

首先,我们需要在powershell中启用脚本,以便我们运行它。

PS> Set-ExecutionPolicy Unrestricted -Force

这个答案在互联网上的任何地方,但就我而言,它不能解决问题。 就我而言,powershell没有配置文件,而这些配置文件没有加载必要的内容。

所以我们需要通过输入powershell来创建配置文件:

PS> New-Item –Path $Profile –Type File –Force
  

将创建一个新的配置文件。

     

like profile.ps1

     

在\ Documents \ WindowsPowerShell \

然后将以下代码添加到文件中

#region conda initialize
    # !! Contents within this block are managed by 'conda init' !!
    (& "$PathToAnaconda\Scripts\conda.exe" "shell.powershell" "hook") | Out-String | Invoke-Expression
    #endregion

就是这样,下次打开PowerShell会话时,您会收到此消息,

Loading personal and system profiles took 1453ms.

环境应该很好。

答案 1 :(得分:0)

这听起来像your own answer对自定义代码的作用-将Conda激活码添加到PowerShell的配置文件(初始化文件)op1[op1['subject_id'].isin(sub_list)].drop_duplicates(subset=list_columns_to_distinct) -已经预先打包为$PROFILE的{​​{1} }命令:

conda

请参见the docs或运行init

但是请注意,当以这种方式全局初始化Conda时,似乎an issue会激活另一个另一个基本环境。

从2019年3月开始的链接问题中的评论指出:

  

同时,您应该能够conda init powershell 使用不需要conda init --help的替代方法。它没有经过太多测试,因此欢迎您提供任何反馈意见。

答案 2 :(得分:0)

您尝试过conda activate base而不只是activate base吗?

在我的系统上,get-command activate显示activate拾取了activate.bat,但它不支持Powershell。 conda绑定到由conda ps模块创建的powershell函数。

powershell钩似乎为路径增加了太多,但我不清楚预期的设置是什么。

修改

只需在我的profile.ps1中添加以下内容,即可使activate / deactivate工作。唯一的缺点是您无法以这种方式获得制表符完成。

function anaconda_activate([string]$environment) {invoke-conda activate $environment}
New-Alias -Force activate anaconda_activate

function anaconda_deactivate {invoke-conda deactivate}
New-Alias -Force deactivate anaconda_deactivate