Anaconda如何处理现有的Python安装

时间:2018-12-12 16:23:35

标签: python ubuntu anaconda

我对Python和Ubuntu相对较新。过去我在处理计算机上的多个版本的Python时遇到问题,因此我想安装Anaconda以在单独的环境中使用Python版本。

但是,我很难理解Anaconda如何处理多个Python版本。对于冗长的帖子,我深表歉意,但我很想了解这一点。为了提供一些背景信息,这是我所做的:

第1步:检查现有的Python版本

我刚刚安装了Ubuntu 18.04。

$ cd
$ ls -l /usr/bin/python*

# Output:
#    0 lrwxrwxrwx 1 root root       9 Oct 25 12:11 /usr/bin/python3 -> python3.6
# 4420 -rwxr-xr-x 2 root root 4522328 Oct 22 12:32 /usr/bin/python3.6
# 4420 -rwxr-xr-x 2 root root 4522328 Oct 22 12:32 /usr/bin/python3.6m
#    0 lrwxrwxrwx 1 root root      10 Oct 25 12:11 /usr/bin/python3m -> python3.6m

到目前为止,我默认情况下基本上已经安装了3.6。

第2步:安装Anaconda

我想保持简单,因此决定通过以下链接下载Python 3.7随附的Anaconda: https://www.anaconda.com/download/#linux

我按照以下确切说明进行了操作: http://docs.anaconda.com/anaconda/install/linux/

其中包括:

  • 按下Enter键并输入“是”以查看并接受许可(说明中的第4点和第5点)。
  • 输入“ Enter”以接受默认位置(说明中的第6点)。
  • 输入“是”以允许安装程序将Anaconda放在PATH之前
  • 输入“是”以允许安装MicrosoftVS

所有这些都有效。我可以通过在终端中键入“ anaconda-navigator”来启动Anaconda,并在启动Spyder后看到我的版本是3.7

第3步:再次检查现有的Python版本

在这里,我只是想了解所有内容的存储位置。

$ cd
$ ls -l /usr/bin/python*

# Output
# lrwxrwxrwx 1 root root       9 Apr 16  2018 /usr/bin/python -> python2.7
# lrwxrwxrwx 1 root root       9 Apr 16  2018 /usr/bin/python2 -> python2.7
# -rwxr-xr-x 1 root root 3670448 Nov 12 14:31 /usr/bin/python2.7
# lrwxrwxrwx 1 root root       9 Oct 25 12:11 /usr/bin/python3 -> python3.6
# -rwxr-xr-x 2 root root 4522328 Oct 22 12:32 /usr/bin/python3.6
# -rwxr-xr-x 2 root root 4522328 Oct 22 12:32 /usr/bin/python3.6m
# lrwxrwxrwx 1 root root      10 Oct 25 12:11 /usr/bin/python3m -> python3.6m

这带来了我的问题(均已链接)

  • 发生了什么事?为什么Python 2.7在这里? Anaconda是否需要2.7才能运行?确实,在Anaconda安装的(长)输出中进行的一些搜索显示:

mono-runtime-sgen po-debconf python python-minimal python2.7 python2.7-最小x11proto-composite-dev x11proto-core-dev m4-doc libmail-box-perl python-doc python-tk python2.7-doc python2.7 python2.7-minimum x11proto-composite-dev x11proto-core-dev 选择先前未选择的软件包python2.7-minimal。  正在准备解压缩... / python2.7-minimal_2.7.15〜rc1-1ubuntu0.1_amd64.deb ... 解压缩python2.7-minimal(2.7.15〜rc1-1ubuntu0.1)... 选择先前未选择的软件包python2.7。 正在准备解压... / python2.7_2.7.15〜rc1-1ubuntu0.1_amd64.deb ... 正在解压缩python2.7(2.7.15〜rc1-1ubuntu0.1)... 设置python2.7-minimal(2.7.15〜rc1-1ubuntu0.1)... 运行时python2.7的链接和字节编译包... 设置python2.7(2.7.15〜rc1-1ubuntu0.1)... t

  • 3.7在哪里?是在/ home / anaconda3中吗?

  • 为什么“ ls -l / usr / bin / python *”输出中的符号链接错误?确实,当我打开终端时:

    • “ python”指向3.7,而不是建议的2.7
    • “ python3”指向3.7,而不是建议的3.6
    • “ python2”指向“ 2.7.15rc1”

我错过了什么吗?或者这都是正常现象吗?很长的道歉。非常感谢。

1 个答案:

答案 0 :(得分:1)

Anaconda默认情况下安装在~/anaconda2~/anaconda3中,除非您指定了另一个目录。通常,anaconda不会更改/usr/bin中的任何内容,但会将/path/to/anaconda/bin添加到您的路径中(~/.bashrc中)(同样,您必须在安装时指定此内容)。您可以使用which -a python来检查您的路径中有什么python可执行文件,第一个结果是当您从命令行调用python时将执行的结果。

NB :您可以使用python2.7或3.7下载anaconda安装脚本,但默认情况下仅包含一个版本的python。您可以下载两个版本,但请确保只在路径中添加一个版本

对于符号链接,因为我不使用Ubuntu,所以我无法为您提供帮助。我可以告诉您的是,我的系统将python链接到python2.7,但也许Ubuntu在最新版本中对此进行了更改。