具有不同环境的 iPython(使用 anaconda)

问题描述 投票:0回答:4

我刚刚使用 anaconda 使用 python 3.5 创建了一个新环境(称为 python35)。我的根环境指向 python 2.7.11。我似乎无法使用这个新环境启动 ipython,这就是我所做的

1. in conda prompt, activate required env: activate python35
2. confirm the version: python --version
3. launch ipython: ipython notebook
4. open a notebook and do: import sys; print (sys.version)

步骤#2,返回 3.5,但步骤#4 总是给我 2.7.11,就像 ipython 从根环境中获取 python 版本一样。我该如何解决这个问题。感谢您的帮助!

这个问题是相关的,但我已经按照它的建议做了。

python ipython anaconda
4个回答
18
投票

AFAIK,anaconda 中的不同环境(以及 venv 中)是通过 prepending env 路径到

$PATH
环境变量激活的。这意味着,如果在 env 路径(
ipython
的第一个条目)中找不到某个文件(例如,
$PATH
),系统会在
$PATH
的后续条目中搜索它,并在根环境中找到它(即留在
$PATH
)。要修复此行为,您需要将
ipython
自己的副本安装到 anaconda env:

  1. 在命令提示符下,激活环境:
    source activate python35
    (或简单地
    activate python35
    ,具体取决于操作系统)
  2. 在环境中时,发出命令
    conda install ipython-notebook

8
投票

除了Andrey Sobolev解决方案之外,您应该切换到

conda install ipython
以获得更高的python3.x版本,并通过
Ctrl+D
conda deactivate
注销环境,然后再次激活


0
投票

我可以在我的情况下确认上面的解决方案(基本上在活动环境中安装笔记本)。我这边的两个更新:

  1. 自 Anaconda 4.4(?)ipython 笔记本现在是jupyter 笔记本。 所以我不得不安装 jupyter。 我想,之后需要停用和激活才能更新笔记本中的路径变量 -> 通过 python -c "import sys; print(sys.path)" 或笔记本中的相应命令进行检查。

  2. 如果您没有使用隔离的 anaconda 环境,您最终可能会从本机 OS-Python 安装调用笔记本包,而不是从 Anaconda 调用所需的笔记本包。同样,当我尝试在 Anaconda 环境中进行编译时,我在使用 cmake 或 cxx 时遇到了问题 - 可能会在 linux bash 中找到不同的根文件夹,例如“which jupyter”


0
投票

对我来说,问题是由于激活多个 conda 环境引起的。停用第一个环境会将 ipython 切换到第二个环境版本,从而解决了问题。

© www.soinside.com 2019 - 2024. All rights reserved.