【问题标题】:How can I use both Anaconda versions (2.7 & 3.5)?如何同时使用 Anaconda 版本(2.7 和 3.5)?
【发布时间】:2017-06-11 06:54:46
【问题描述】:

我在 Windows 10 机器上使用 Anaconda 3.5 distro。由于我想要使用的库中的依赖关系,我还必须安装 2.7 版本。

好消息是我需要的库现在可以顺利使用2.7 版本,并且 Visual Studio 2015 自动检测到我的新 Python 环境。

使用命令行时出现问题。发出命令后

conda info --envs

我明白了

root                  *  C:\Users\norah\Anaconda2

即一个单一的环境(据我了解和搜索到目前为止,根据this,我应该看到列出了两个环境)。这意味着我不能使用conda 为我的Python3.5 安装获取新软件包,至少不能像我以前那样在命令行中使用,因为conda 仅指Python2.7。 GUI 版本 Anaconda navigator 也是如此(我不太喜欢 GUI 版本,但我试过了)。

也没有办法从命令行启动python3,因为

$python

总是启动 python2.7 并在命令行中发出 $python3$python3.5 似乎不起作用(也不会将 python3 的路径添加到系统,因为实际的可执行文件与 python2 具有相同的名称,即python.exe)

我的系统被 Python2.7 接管了吗? 这里有人可以顺利使用它们吗?如果可以,请详细说明如何操作?安装两个版本的 Anaconda 是不是一个“不”的举动?

【问题讨论】:

  • 在 Anaconda 中使用 3.5 个重复的 python.exe 并将名称更改为 pyhton3.exe 并与 conda 相同 - 然后您可以使用这两个版本。
  • 顺便说一句:在 Linux 上,我有文件 pythonpython3python3.4python3.5python3.6python2python2.7python2.6 我可以运行同时所有版本。你可以在 Windows 上做类似的事情。
  • @furas 是的,特别是在 Ubuntu 上我做同样的事情。 Windows 似乎是另一种情况

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


【解决方案1】:

同时使用 Python 2.7x 和 Python 3.5x 的最佳方式是 Jupyter Notebook。

http://jupyter.org/

您将能够使用 IPython Notebook 风格的界面在浏览器上工作,该界面非常适合使用脚本语言。

我在 YouTube 上发现其中一些视频内容丰富:

1)https://www.youtube.com/watch?v=HW29067qVWk

2)https://www.youtube.com/watch?v=e9cSF3eVQv0

除了 Python 2.7 和 3.5 之外,您还可以使用 Jupyter Notebook 运行许多其他语言。以下链接中提供了各种内核:

https://github.com/jupyter/jupyter/wiki/Jupyter-kernels

安装后,当您启动 Jupyter Notebook 时,您的浏览器将打开一个显示您的主目录的新页面。在 4 个选项卡中(文件|运行|群集|Conda):

1) 文件选项卡显示您的主目录中的所有文件。

2) 运行选项卡显示所有正在运行的笔记本。

3) 集群选项卡由 IPython 并行提供。

4) Conda 选项卡是您需要将 Python 版本 3.5(和其他语言,如果需要)添加到 Jupyter Notebook 的地方(如果默认为 Python 2.7)。

如果您有兴趣在 Jupyter Notebook 上尝试 C++,可以使用几个内核。

1) JupyRoot - https://github.com/root-mirror/root/tree/master/bindings/pyroot/JupyROOT

2) 紧贴 - https://github.com/root-mirror/cling

【讨论】:

    【解决方案2】:

    我也鄙视 Anaconda 试图强加给我们的虚拟环境切换。我更喜欢让这两个可执行文件始终从命令行立即可用。我很确定我曾经在 Windows 机器上运行过这个:

    1. 分别以“C:\Anaconda2\”和“C:\Anaconda3\”的形式将 Anaconda2 和 Anaconda3 安装到 C:\ 驱动器。
    2. 编辑“路径”环境变量(控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 环境变量)并确保“C:\Anaconda2;C:\Anaconda2\Scripts;C: \Anaconda2\Library\bin”在“C:\Anaconda3;C:\Anaconda3\Scripts;C:\Anaconda3\Library\bin”前面。
    3. 复制文件“C:\Anaconda3\python.exe”并将其重命名为“C:\Anaconda3\python3.exe”。
    4. 复制文件“C:\Anaconda3\Scripts\conda.exe”并将其重命名为“C:\Anaconda3\Scripts\conda3.exe”
    5. 复制并重命名您可能在“C:\Anaconda3\Scripts\”中使用的任何其他脚本,例如“pip.exe”到“pip3.exe”等。

    现在,在命令行输入“python”或“conda”会得到python2版本,在命令行输入“python3”或“conda3”等会得到python3版本.

    【讨论】:

    • 这看起来像是安装人员可以为我们做的,对吧?
    • @LorahAttkins 是的,Anaconda 打包程序可以将所有 python 版本包含为单独命名的可执行文件(或指向它们的软链接),例如 python、python2、python2.7、python3、python3.5等,就像大多数 Linux 发行版的打包程序通常所做的那样,甚至可能让用户决定“python”指向哪个版本,但似乎 Anaconda 开发人员对 Virtualenv 太着迷了。
    • @u55 我很好奇你为什么反对 Anaconda 处理 python 版本的虚拟环境风格?
    • @pylang Virtualenv 非常适合在阳光下针对每个 python 版本测试代码,但我不想在日常工作中使用它,因为 activate py35 && pythondeactivate 输入太多为了我。 - 不开玩笑。我更喜欢能够在需要时使用pythonpython3。此外,同时拥有两个可执行文件可以更轻松地为文本编辑器/IDE 设置构建命令,并且可以更轻松地使用“子进程”从不同版本的 python 调用一个版本的 python。
    • 我想我可以同情你的第二个论点。谢谢。
    【解决方案3】:

    您可以使用 Anaconda 2.7 制作 Python 3.5 环境:

    conda create -n py35 python=3.5
    

    现在,激活它:

    activate py35
    

    终于可以安装所需的包了:

    conda install numpy
    

    或者,整个蟒蛇:

    conda install anaconda
    

    这种方法的优点是您还可以创建 Python 3.4 或 3.6 环境。此外,您可以创建具有不同组合和版本库的环境。

    实际上,为每个更大的项目创建一个新环境是有意义的。

    【讨论】:

    • 这是我最初的方法,但发出你提到的第一个命令会导致“递归错误”:(因此我重新安装了
    • @LorahAttkins 这是在 Windows 上使用 Anaconda 管理不同版本的 python 的最佳方式。如果运行第一个命令时出现错误,则 python 安装存在问题。确保通过“全新安装”卸载了所有其他 anaconda 发行版。避免同时安装 Anaconda 2.x 和 Anaconda 3.x;选择一个并使用 envs,如下所示。
    • @pylang 那么运行两个安装程序是不行的,所以我应该删除一个发行版并重新开始。我必须完成一个项目,我担心现在会弄乱安装,但会在一周左右再试一次。在这里+1,我会在接受之前等待看看是否还有更多答案
    • @LorahAttkins 是的。我建议,如果可以的话,请真正从头开始并删除所有 Anaconda 发行版。然后只安装一个。一个发行版就足够了,因为您可以安装单独的环境。这个建议是合适的方法,我还建议查看关于这个主题的 SO 文档以确保stackoverflow.com/documentation/python/868/virtual-environments/…。考虑使用带有 Py 2 环境的 Python 3 发行版,因为支持最终将结束 pythonclock.org
    • 不幸的是,这种方法意味着尽管已经有 anaconda,但必须重新安装 python3 所需的包?
    猜你喜欢
    • 2017-03-26
    • 2016-11-10
    • 2017-08-16
    • 2017-02-28
    • 2016-11-26
    • 2016-09-23
    • 2015-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多