【问题标题】:Python and python3 side-by-side on MacOS - AnacondaPython 和 python3 在 MacOS 上并排 - Anaconda
【发布时间】:2017-01-07 23:04:41
【问题描述】:

我同时安装了 anaconda 2 和 anaconda 3。

我想打电话给python3python3 来自anaconda 3,并打电话给pythonpython 来自anaconda 2。。 p>

我的问题是,将 anaconda3 的 bin 路径添加到 PATH 也会添加名称 python,因此 anaconda 2 中的 python 会被隐藏。 是否有可能拥有两种语言并排工作的健全环境?

如果我这样做:

export PATH="/Path/to/anaconda2:/Path/to/anaconda3:$PATH"

然后我得到我想要的,因为 anaconda2 会影响 anaconda3 的python,但不会影响python3。不知道会不会有什么不良后果。

【问题讨论】:

    标签: python python-2.7 python-3.x anaconda


    【解决方案1】:

    同时使用不同 Python 版本的最佳方法是创建 conda environments

    对于 Python 2:

    conda create -n py27 Python=2.7
    

    激活方式:

    source activate py27
    

    对于 Python 3:

    conda create -n py35 Python=3.5
    

    激活方式:

    source activate py35
    

    停用:

    source deactivate
    

    激活后,您可以安装单个软件包或整个 Anaconda 发行版:

    conda install anaconda
    

    这将允许您为 Python 3.6 或不同版本的库组合创建更多环境。

    将此添加到您的.profile

    pyxx() {
    exec &>/dev/null
    source activate $1
    exec &>/dev/tty
    python ${*:2}
    exec &>/dev/null
    source deactivate
    exec &>/dev/tty
    }
    
    
    
    py27()
    {
        pyxx py27 $*
    }
    
    py35()
    {
        pyxx py35 $*
    }
    

    现在调用:

    py27 
    

    将激活 Python 2.7 的环境,在其中运行 Python 并 在 Python 进程完成后停用环境。

    同样适用:

    py35
    

    当然,您可以(暂时)将您的环境称为python2python3

    【讨论】:

    • 这是一个很好的答案,但我永远无法同时拥有两者,或者我可以吗?我问是因为我想从支持 python 和 python3 的源代码构建 vim - 这意味着配置脚本必须能够找到两者。
    • 您需要两个终端。每个环境一个。也许您可以说服 vim 激活和停用环境本身。我认为它需要 bash。
    • 您应该能够为 vim 提供您的 Python 3(或 2)环境的路径,例如/Users/user/anaconda3/envs/py27/bin/python
    【解决方案2】:

    您回答了自己的问题:设置您的 $PATH 以在 Python 3 版本完全实现您想要的并且是唯一的方法(缺少符号链接和/或移动实际的二进制文件)之前找到 Anaconda 的 Python 2 版本可以得到你想要的结果。

    ...如果有人提到“创建别名”,请运行。

    【讨论】:

    • 我会试试这个,看看我是否遇到任何问题。
    猜你喜欢
    • 1970-01-01
    • 2019-12-03
    • 2020-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多