【问题标题】:Which Python version is installed in another conda env在另一个 conda env 中安装了哪个 Python 版本
【发布时间】:2017-04-02 12:23:36
【问题描述】:

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

背景:我选择了懒惰的方式在我的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}")

我对@9​​87654331@ 的子版本没有兼容性问题,我不想setup.py develop PYTHONPATH-to-be 中的模块,因为仍然有太多变化,在结构层面也是如此。

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

【问题讨论】:

    标签: python conda


    【解决方案1】:

    这是一个将打印环境和相关 python 版本的单行:

    conda env list | grep -v "^$\|#" |awk '{print $1;}'|xargs -I{} -d "\n" sh -c 'printf "Env: {}\t"; conda list -n {} |grep "^python\s";'
    

    这是一个示例输出:

    Env: base   python                    2.7.14              h1571d57_29  
    Env: python37   python                    3.7.0                hc3d631a_0  
    

    基本原理:使用conda env list 获取环境列表,排除空行和#,解析,打印环境包conda list -n &lt;env&gt; 和grep for python。

    欢迎您根据自己的喜好调整格式。

    【讨论】:

    • 嗨。以及如何在 Windows 上获得各种 conda 环境的 python 版本?谢谢。
    • 使用格式化输出@eiimage 一行将是:conda env list | grep -v "^$\|#" | awk '{print $1;}' | xargs -I{} -d "\n" sh -c 'printf %-20s "{}"; conda list -n {} | grep "^python\s"'
    【解决方案2】:

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

    如果是这样,那么 Python 版本应该可以通过简单地运行 $ANACONDA_HOME/envs/$CONDAENV/bin/python --version 来检索。

    编辑以解决 OP 评论:

    只返回版本字符串试试:

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

    【讨论】:

    • $ ~/miniconda2/envs/$CONDAENV/bin/python --version 打印 Python 3.6.1 :: Continuum Analytics, Inc. 仍然需要解析,但我可以添加一个带有 -c '...' 的迷你内联脚本 stdout.writes sys.version_info.major。很好的猜测:)
    • 对于 conda 4.7.12,$ ANACONDA_HOME/bin/python --version 有效
    猜你喜欢
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多