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

时间:2016-10-23 17:42:54

标签: python ipython anaconda

我刚刚使用anaconda(称为python35)创建了一个带有python 3.5的新环境。我的根env指向python 2.7.11。我似乎无法使用这个新的env启动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从root env中获取python版本一样。我该如何解决。谢谢你的帮助!

This问题是相关的,但我已经完成了它的建议。

3 个答案:

答案 0 :(得分:8)

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

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

答案 1 :(得分:0)

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

  1. 由于Anaconda 4.4(?)ipython笔记本现在是jupyter notebook。所以我不得不安装jupyter。我想,之后需要停用并激活以更新笔记本中的路径变量 - >由python -c“import sys; print(sys.path)”或笔记本中的相应命令检查。

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

答案 2 :(得分:0)

除了Andrey Sobolev解决方案之外,您还应该切换到conda install ipython以获得更高版本的python3.x,并通过Ctrl+Dconda deactivate注销环境,然后再次激活