【问题标题】:Question regarding install/update packages through conda install关于通过 conda install 安装/更新包的问题
【发布时间】:2019-07-13 15:10:32
【问题描述】:

我的问题是:

假设我有两个环境,base 和一个名为 venv 的虚拟环境

如果我通过

在基础环境中安装/更新包
conda install package

venv里面的包也会更新吗?

如果我更新了venv'包,基础环境下的包会更新吗?

如果是这样,我怎样才能阻止它们一起更新(我想在一个环境中更新/安装并保持另一个环境清洁)

至于我问这个问题的原因是我注意到一些软件包在基础环境中默默更新(我没有更新,我总是在 venv 环境中更新/安装)并且如果我不小心损坏了我的 venv 环境(比如说,更新一些包装不当,这很常见);我仍然可以从健康、干净的基地环境中恢复过来。

【问题讨论】:

    标签: python pip anaconda spyder


    【解决方案1】:

    我假设虚拟环境 (venv) 是在基本 conda 环境中使用virtualenv 安装的。

    在 venv 中安装或更新包应该对基础环境没有影响。

    反过来(假设您在 venv 之外使用 conda 更新软件包),这取决于:

    • 如果 venv 是使用最新版本的 virtualenv 或 --no-site-packages 标志(已弃用,因为现在 the default)创建的,则从 venv 更新包应该没有影响。
    • 如果 venv 是使用最新版本的 virtualenv 或 --system-site-packages 标志创建的,那么从 venv 更新的包应该会产生影响。

    最后一个选项,在虚拟环境中使用 conda 更新包是自找麻烦。

    既然你在使用 conda,为什么不做两个 conda 环境并停止使用 virtualenv 呢?另外,由于您放置了 pip 标签,我建议您查看Using Pip in a Conda Environment 以了解 pip/conda 交互。

    【讨论】:

    • 创建另一个隔离环境以防止内部损坏是个好主意;你说得对,我把虚拟环境放在base文件夹下确实有未知的影响
    猜你喜欢
    • 2020-10-26
    • 2017-05-15
    • 2020-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-31
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多