安装了python3的anaconda3,但新环境默认情况下使用python2

时间:2020-03-12 20:04:05

标签: python python-3.x anaconda

我在使用conda管理环境时遇到麻烦。我的基本环境有很多软件包,默认为python3

$Cache = @{}
Function GetMatch($Item) {
    If (!$Cache.ContainsKey($Item)) {
        $Text = Get-ChildItem -Path $path -Recurse | Select-string -Pattern $Item -SimpleMatch -Context 9, 0 | ForEach-Object { 
            $_.Context.PreContext
            $_.Line
            $_.Context.PostContext
        }
        $Cache[$Item] = $Text | Select-String -Pattern $pattern | ForEach-Object { $Item.Matches.Groups[1].Value }
    }
    $Cache[$Item]
}

$array = $array2 | ForEach-Object {
    $array3 = GetMatch $_
}

当我创建一个新环境时,conda会以某种方式使用系统中的python2默认值。例如,我创建了一个名为test的环境。它具有基础环境中完整的软件包补充。但是

window.addEventListener('appinstalled', function(event){
    setTimeout(function(){
        presentToUser("<a href='https://myhostname.com' target='_blank'>Go to App</a>")
    }, 10000)}
});

为什么要这么做?

如果我使用python3显式创建环境,那么它将在环境中使用python 3.8.1

(base) stefan@4930:~/Dropbox/aPython$ python -V
Python 3.7.6

从此处不应该安装Anaconda3:

(test) stefan@4930:~/Dropbox/aPython$ python -V
Python 2.7.17
(test) stefan@4930:~/Dropbox/aPython$ which python
/usr/bin/python

如果我下载了python 3.7版本,请给我一个带有python3的蟒蛇发行版? (顺便说一句,它淘汰了一个名为Anaconda3-2020.02-Linux-x86_64.sh的文件)

这里有一个类似的SO问题: How to still using anaconda Python3 after activate a conda environment?

但是我不完全理解答案。发疯的海报说

base) stefan@4930:~/Dropbox/aPython$ conda activate test2
(test2) stefan@4930:~/Dropbox/aPython$ python -V
Python 3.8.1
(test2) stefan@4930:~/Dropbox/aPython$ which python
/home/stefan/anaconda3/envs/test2/bin/python

那么如果我的路径作为第一个条目,anaconda3为什么默认将python2(系统python)设置为活动python

https://www.anaconda.com/distribution/#download-section

编辑:添加了所需信息

When you activate a conda environment, you'll use the Python version from that environment. 

0 个答案:

没有答案