【问题标题】:Create Conda environment on top of existing installation在现有安装之上创建 Conda 环境
【发布时间】:2018-05-11 15:48:28
【问题描述】:

我已经使用 bash 安装脚本在系统上安装了 miniconda3,然后在此安装中执行了一些软件包的conda install

此安装以只读方式提供给其他用户。他们可以获取一个安装脚本,将 conda 安装添加到他们的 LD_LIBRARY_PATHPATHPYTHONPATH

我希望用户能够在此环境之上添加自己的自定义模块。

理想情况下,用户会运行某种形式的conda create 环境,从而使用户能够在其本地环境中安装软件包,但会从我所在的地区获取以前安装的软件包。

有什么好办法吗?

重要的一点是我的 conda 安装有一些特定于体系结构的库,这些库是在我们拥有的计算机系统上获得适当性能所必需的。如果用户执行标准conda create ...,则所有内容都是从头开始安装的,并且用户没有获得正确的库。

【问题讨论】:

    标签: python anaconda conda environment miniconda


    【解决方案1】:

    听起来您想克隆基本的 Conda 环境。您只需将 --clone 参数与 create 命令一起使用。请参阅下面的文档链接:

    https://conda.io/docs/user-guide/tasks/manage-environments.html#cloning-an-environment

    【讨论】:

    • 非常感谢。这正是我所需要的,我可以将安装的 PATH 传递给 --clone 参数。
    • 此过程在应用于base 环境时会产生警告:(anaconda 5.2) The following packages cannot be cloned out of the root environment...
    • 路径坏了
    【解决方案2】:

    这个方法真的让我省了很多。您可以导出现有环境并根据现有环境中所有已安装的包创建一个新环境:

    $ conda env export > FILE_NAME.yml
    

    然后你可以把这个文件带到另一台机器上,或者只是在你当前的机器上创建:

    $ conda env create -f FILE_NAME.yml
    

    【讨论】:

      【解决方案3】:

      conda create(或 conda env create),将覆盖并重置环境目录。您应该激活现有环境,并安装其他软件包:

      # Create Conda environment, only if it does not already exists
      $ [[ $(conda env list | grep my_env) ]] || conda create -y -n my_env
      
      $ source activate my_env
      
      (my_env)$ conda install -y --update-deps new_package
      
      (my_env)$ conda list
      # previous packages + new_package
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-01-13
        • 1970-01-01
        • 2021-10-20
        • 1970-01-01
        • 2018-01-31
        • 2022-01-02
        • 2019-01-04
        相关资源
        最近更新 更多