2017-04-02 80 views
2

如何知道在知道名称但不想激活该环境的conda环境中安装了哪个Python版本?哪个Python版本安装在另一个conda环境中

背景:我选择了懒惰的方式在我的Ubuntu 14.04机器上获得python3.6并安装了conda。不过,我想这取决于环境是否有python2.xpython3.x某些目录添加到我的PYTHONPATH,我打算通过包装condaactivate像这样做:

PYMAJOR=$(a_miracle_occurs $CONDAENV) 
BASHRC=$(cat <<EOF 
source ~/.bashrc 
source activate $CONDAENV 
export PATH=... 
export PYTHONPATH=".../modules$PYMAJOR" 
" 
EOF 
) 
bash --rcfile <(echo "${BASHRC}") 

我没有兼容性问题的颠覆python,我不想setup.py developPYTHONPATH中的模块 - 因为在结构层面上仍然有太多的变化。

备注:我知道conda list -n ENVNAME,但这将涉及解析人类可读的输出,我最好有机会以机器可读形式检索信息。

回答

2

我完全不熟悉anaconda,接下来的一切都是疯狂的猜测。如果anaconda在内部使用virtualenv,则应该将virtualenv安装到某个目录中(可能类似$ANACONDA_HOME/envs/$CONDAENV?)。

如果是这种情况,那么只需运行$ANACONDA_HOME/envs/$CONDAENV/bin/python --version即可检索Python版本。

编辑解决OP的评论:

只返回版本字符串尝试:

$ANACONDA_HOME/envs/$CONDAENV/bin/python -c 'import platform; print(platform.python_version())' 
>>> 3.6.0 
+1

'$〜/ miniconda2/ENVS/$ CONDAENV /斌/ Python的--version'输出' Python 3.6.1 :: Continuum Analytics,Inc.'仍然需要解析,但我可以用'-c'...''添加一个迷你内联脚本,''stdout.write's'sys.version_info.major '。大猜想:) – flaschbier

相关问题