How can you “clone” a conda environment into the root environment?

前端 未结 4 950
深忆病人
深忆病人 2020-12-04 14:15

I\'d like the root environment of conda to copy all of the packages in another environment. How can this be done?

4条回答
  •  既然无缘
    2020-12-04 15:07

    I also ran into the trouble of cloning an environment onto another machine and wanted to provide an answer. The key issue I had was addressing errors when the current environment contains development packages which cannot be obtained directly from conda install or pip install. For these cases I highly recommend conda-pack (see this answer):

    pip install conda-pack
    

    or,

    conda install conda-pack
    

    then back up the environment, to use the current environment just omit the my_env name,

    # Pack environment my_env into my_env.tar.gz
    $ conda pack -n my_env
    
    # Pack environment my_env into out_name.tar.gz
    $ conda pack -n my_env -o out_name.tar.gz
    
    # Pack environment located at an explicit path into my_env.tar.gz
    $ conda pack -p /explicit/path/to/my_env
    

    and restoring,

    # Unpack environment into directory `my_env`
    $ mkdir -p my_env
    $ tar -xzf my_env.tar.gz -C my_env
    
    # Use Python without activating or fixing the prefixes. Most Python
    # libraries will work fine, but things that require prefix cleanups
    # will fail.
    $ ./my_env/bin/python
    
    # Activate the environment. This adds `my_env/bin` to your path
    $ source my_env/bin/activate
    
    # Run Python from in the environment
    (my_env) $ python
    
    # Cleanup prefixes from in the active environment.
    # Note that this command can also be run without activating the environment
    # as long as some version of Python is already installed on the machine.
    (my_env) $ conda-unpack
    

提交回复
热议问题