CondaValueError: Value error: prefix already exists:

51,186

Solution 1

I simply deleted folder C:\Program Files\Miniconda2\envs\ENV1\.

Solution 2

You can overwrite the existing enviroment by adding the --force option.

So:

conda create -n ENV1 python=2.7.12 anaconda --force

Make sure that you have updated you anaconda because it is a recent function.

Edit: --force feature was added in conda 4.6, but apparently on latest versions 4.7, 4.8, it doesn't always work

Solution 3

When the conda environment was previously removed, but the actual directory still exists (for some reason), then the "conda env remove -n ENV1" will do nothing:

$ conda-env list
  # conda environments:
  #
  base                  *  /home/nmanos/miniconda
  test-env                 /home/nmanos/miniconda/envs/test-env
$ conda-env remove -n ENV1
# Nothing was removed (exit code zero)   
$ ls /home/nmanos/miniconda/envs/ENV1  
  bin  conda-meta  etc  go
# Directory still exists

So you can remove the actual ENV1 directory, as follow:

$ ENV_BASE=$(conda-env list | awk '/base/ { print $NF }')
$ echo $ENV_BASE
  /home/nmanos/miniconda
$ rm -rf "$ENV_BASE/envs/ENV1"
Share:
51,186
MacGyver
Author by

MacGyver

My friends call me "Mac". I'm a master of improvisation. I have vast scientific knowledge and unique abilities to use ordinary objects to get myself and friends out of trouble. I typically carry my Swiss Army knife and a roll of duct tape with me at all times. I dislike guns because of a traumatic childhood incident. I try to avoid violence whenever possible. Because my life was getting too stressful at the Phoenix Foundation, I have picked up programming as a new career. I spend my spare time on Stack Overflow.

Updated on July 05, 2022

Comments

  • MacGyver
    MacGyver 6 months

    Reference:

    https://uoa-eresearch.github.io/eresearch-cookbook/recipe/2014/11/20/conda/

    I've run the following commands to install conda and create a virtual environment. Continue reading after code block for my question.

    C:\Windows\System32>conda -V
    conda 4.1.11
    C:\Windows\System32>conda update conda
    Fetching package metadata .........
    Solving package specifications: ..........
    Package plan for installation in environment C:\Program Files\Miniconda2:
    The following packages will be downloaded:
        package                    |            build
        ---------------------------|-----------------
        conda-env-2.6.0            |                0          498 B
        enum34-1.1.6               |           py27_0          53 KB
        conda-4.2.9                |           py27_0         421 KB
        ------------------------------------------------------------
                                               Total:         475 KB
    The following NEW packages will be INSTALLED:
        enum34:    1.1.6-py27_0
    The following packages will be UPDATED:
        conda:     4.1.11-py27_0 --> 4.2.9-py27_0
        conda-env: 2.5.2-py27_0  --> 2.6.0-0
    Proceed ([y]/n)? y
    Fetching packages ...
    conda-env-2.6. 100% |###############################| Time: 0:00:00  99.60 kB/s
    enum34-1.1.6-p 100% |###############################| Time: 0:00:00 719.03 kB/s
    conda-4.2.9-py 100% |###############################| Time: 0:00:00   1.33 MB/s
    Extracting packages ...
    [      COMPLETE      ]|##################################################| 100%
    Unlinking packages ...
    [      COMPLETE      ]|##################################################| 100%
    Linking packages ...
    [      COMPLETE      ]|##################################################| 100%
    C:\Windows\System32>
    C:\Windows\System32>Python -V
    Python 2.7.12
    C:\Windows\System32>conda create -n ENV1 python=2.7.12 anaconda
    ...
    <-- chose 'n' for install
    

    I chose 'n' here, because this is when I crashed my Linux server because I ran out of disk space when a billion programs (give or take) were asked to be installed. Instead, I chose 'n', and then wanted to log this to a file so I could see the entire list because I couldn't scroll up in the Windows command prompt, so I ran the code below instead. It sat for a while, and then I broke out using CTRL+C. Continue reading after code block for my question.

    C:\Windows\System32>conda create -n ENV1 python=2.7.12 anaconda > C:\output.txt
    y
    Traceback (most recent call last):
      File "C:\Program Files\Miniconda2\Scripts\conda-script.py", line 5, in <module
    >
        sys.exit(conda.cli.main())
      File "C:\Program Files\Miniconda2\lib\site-packages\conda\cli\main.py", line 1
    50, in main
        return conda_exception_handler(_main)
      File "C:\Program Files\Miniconda2\lib\site-packages\conda\exceptions.py", line
     473, in conda_exception_handler
        return_value = func(*args, **kwargs)
      File "C:\Program Files\Miniconda2\lib\site-packages\conda\cli\main.py", line 1
    44, in _main
        exit_code = args.func(args, p)
      File "C:\Program Files\Miniconda2\lib\site-packages\conda\cli\main_create.py",
     line 68, in execute
        install(args, parser, 'create')
      File "C:\Program Files\Miniconda2\lib\site-packages\conda\cli\install.py", lin
    e 405, in install
        execute_actions(actions, index, verbose=not context.quiet)
      File "C:\Program Files\Miniconda2\lib\site-packages\conda\plan.py", line 643,
    in execute_actions
        inst.execute_instructions(plan, index, verbose)
      File "C:\Program Files\Miniconda2\lib\site-packages\conda\instructions.py", li
    ne 134, in execute_instructions
        cmd(state, arg)
      File "C:\Program Files\Miniconda2\lib\site-packages\conda\instructions.py", li
    ne 47, in FETCH_CMD
        fetch_pkg(state['index'][arg + '.tar.bz2'])
      File "C:\Program Files\Miniconda2\lib\site-packages\conda\fetch.py", line 336,
     in fetch_pkg
        download(url, path, session=session, md5=info['md5'], urlstxt=True)
      File "C:\Program Files\Miniconda2\lib\site-packages\conda\fetch.py", line 419,
     in download
        for chunk in resp.iter_content(2**14):
      File "C:\Program Files\Miniconda2\lib\site-packages\requests\models.py", line
    664, in generate
        for chunk in self.raw.stream(chunk_size, decode_content=True):
      File "C:\Program Files\Miniconda2\lib\site-packages\requests\packages\urllib3\
    response.py", line 353, in stream
        data = self.read(amt=amt, decode_content=decode_content)
      File "C:\Program Files\Miniconda2\lib\site-packages\requests\packages\urllib3\
    response.py", line 310, in read
        data = self._fp.read(amt)
      File "C:\Program Files\Miniconda2\lib\httplib.py", line 612, in read
        s = self.fp.read(amt)
      File "C:\Program Files\Miniconda2\lib\socket.py", line 384, in read
        data = self._sock.recv(left)
      File "C:\Program Files\Miniconda2\lib\ssl.py", line 756, in recv
        return self.read(buflen)
      File "C:\Program Files\Miniconda2\lib\ssl.py", line 643, in read
        v = self._sslobj.read(len)
    KeyboardInterrupt
    C:\Windows\System32>conda create -n ENV1 python=2.7.12 anaconda > C:\output.txt
    CondaValueError: Value error: prefix already exists: C:\Program Files\Miniconda2
    \envs\ENV1
    

    How can I remove the ENV1 prefix so I can try re-installing? And how can I log all of this output in Windows. The input is not visible if I move to C:\output.txt.

  • xiaodai
    xiaodai almost 4 years
    where is this folder for normal Conda? Can't find it
  • Mehdi Souregi
    Mehdi Souregi almost 4 years
    you can find it in here C:\ProgramData\Anaconda3\envs
  • Chris_Rands
    Chris_Rands almost 3 years
    This feels like not the best way, surely removing the environment conda env remove or forcing the overwrite --force are preferable?
  • Noam Manos
    Noam Manos over 2 years
    --force feature was added in conda 4.6, but apparently on latest versions 4.7, 4.8, it doesn't always work: github.com/conda/conda/issues/7819#issuecomment-611657889