Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux系统上的多Python发行版_Python_Linux_Anaconda - Fatal编程技术网

Linux系统上的多Python发行版

Linux系统上的多Python发行版,python,linux,anaconda,Python,Linux,Anaconda,我在预装Python 2和Python 3的Linux 16.04上工作。我曾经使用这个预装的核心Python发行版已经有一段时间了,并且已经使用pip向发行版添加了一些包。最近,我一直计划在不干扰我的核心python发行版的情况下安装Anaconda python发行版,但我不确定这两个发行版在同一Linux系统上如何协同工作 如果在my core和Anaconda发行版中都安装了软件包,这会导致任何冲突吗 如果我只是在终端上运行python3,会运行什么?核心发行版的python还是Anac

我在预装Python 2和Python 3的Linux 16.04上工作。我曾经使用这个预装的核心Python发行版已经有一段时间了,并且已经使用pip向发行版添加了一些包。最近,我一直计划在不干扰我的核心python发行版的情况下安装Anaconda python发行版,但我不确定这两个发行版在同一Linux系统上如何协同工作

  • 如果在my core和Anaconda发行版中都安装了软件包,这会导致任何冲突吗

  • 如果我只是在终端上运行python3,会运行什么?核心发行版的python还是Anaconda发行版

  • 我可以同时运行Python的两个实例吗

  • 不,安装在system Python目录和Anaconda目录中的软件包是分开的。如果使用pip的
    --user
    选项安装软件包,可能会发生冲突,该选项将软件包安装到Ubuntu上的
    ~/.local
    目录中。但是,只有在尝试使用相同版本的Python(3.4或3.6或…)时,这才是一个问题

  • 运行哪种Python取决于为
    PATH
    环境变量设置的内容。您可以通过键入
    echo$PATH
    在终端中检查此变量的值。例如,如果在终端中键入
    python3
    ,shell将运行
    路径中名为
    python3
    的第一个可执行文件。如果您的路径看起来像
    /home/user/anaconda3/bin:/usr/local/bin:/usr/bin
    ,那么首先会找到anacondapython

  • 您可以使用Python可执行文件的完整路径来选择在给定时间运行的Python,例如,
    /usr/bin/python3
    /usr/bin/python2
    /home/user/anaconda3/bin/Python
    /home/user/anaconda3/envs/py27/bin/Python
    。一般来说,这样做没有问题,也不会有冲突。您可能遇到的唯一问题是,如果要同时使用两个版本的Python,您必须安装两个要使用的软件包副本(一个用于系统Python,一个用于Anaconda)

    a。从@sascha添加:

    使用anaconda的环境时,您通常会使用选择一个环境(例如,终端选项卡1:
    源激活py2
    ,终端选项卡2:
    源激活py3
    ;然后调用python或pip或…在这些终端选项卡中的行为将不同)

  • 不,安装在system Python目录和Anaconda目录中的软件包是分开的。如果使用pip的
    --user
    选项安装软件包,可能会发生冲突,该选项将软件包安装到Ubuntu上的
    ~/.local
    目录中。但是,只有在尝试使用相同版本的Python(3.4或3.6或…)时,这才是一个问题

  • 运行哪种Python取决于为
    PATH
    环境变量设置的内容。您可以通过键入
    echo$PATH
    在终端中检查此变量的值。例如,如果在终端中键入
    python3
    ,shell将运行
    路径中名为
    python3
    的第一个可执行文件。如果您的路径看起来像
    /home/user/anaconda3/bin:/usr/local/bin:/usr/bin
    ,那么首先会找到anacondapython

  • 您可以使用Python可执行文件的完整路径来选择在给定时间运行的Python,例如,
    /usr/bin/python3
    /usr/bin/python2
    /home/user/anaconda3/bin/Python
    /home/user/anaconda3/envs/py27/bin/Python
    。一般来说,这样做没有问题,也不会有冲突。您可能遇到的唯一问题是,如果要同时使用两个版本的Python,您必须安装两个要使用的软件包副本(一个用于系统Python,一个用于Anaconda)

    a。从@sascha添加:

    使用anaconda的环境时,您通常会使用选择一个环境(例如,终端选项卡1:
    源激活py2
    ,终端选项卡2:
    源激活py3
    ;然后调用python或pip或…在这些终端选项卡中的行为将不同)


  • 我建议在基本系统
    python
    python3
    之外寻找管理python版本的方法@TravisClarke Anaconda可以轻松地管理不同的python版本,在我看来,当OP想要使用的软件也能完成功能时,没有必要建议使用完全不同的软件。@darthbith-我理解你的观点。不过,我并不认为建议使用python版本管理器,甚至虚拟环境作为替代方案是有害的。当然,除非我试图把它表述为一个答案。我的目的只是告诉OP和未来的访问者,一个最简单的选项,可以处理多个Python版本的名义冲突。@TravisClarke你的评论对我来说就像“哦,你使用Windows?你真的应该使用Linux”类型的评论:-)不管怎么说,正如你所说,了解替代品很好,特别是对于该站点的未来访问者,我建议您在基本系统
    python
    python3
    之外,再考虑一下如何管理python版本@TravisClarke Anaconda也可以轻松地管理不同的python版本,在我看来,当OP想要使用的软件也能完成功能时,没有必要建议使用完全不同的软件。@darthbith-我理解你的观点。不过,我并不认为建议使用python版本管理器,甚至虚拟环境作为替代方案是有害的。当然,除非我试图把它表述为一个答案。我的目的只是通知OP,a