CondaValueError: Value error: prefix already exists:
CondaValueError: Value error: prefix already exists:
参考:
https://uoa-eresearch.github.io/eresearch-cookbook/recipe/2014/11/20/conda/
我已经 运行 使用以下命令来安装 conda 并创建虚拟环境。在我的问题的代码块之后继续阅读。
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
我在这里选择 'n',因为这是我 Linux 服务器崩溃的时候,因为我 运行 磁盘不足 space 当十亿个程序(提供或接受) 被要求安装。相反,我选择了 'n',然后想将其记录到一个文件中,这样我就可以看到整个列表,因为我无法在 Windows 命令提示符中向上滚动,所以我 运行下面的代码代替。它坐了一会儿,然后我用 CTRL+C 打破了。在我的问题的代码块之后继续阅读。
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
如何删除 ENV1 前缀以便尝试重新安装?以及如何在 Windows 中记录所有这些输出。如果我移动到 C:\output.txt.
则输入不可见
我只是删除了文件夹 C:\Program Files\Miniconda2\envs\ENV1\
。
下次打开终端提示是
(基数)C:\Users\whatever>
只需输入:
(基础) C:\Users\whatever> conda 激活 ENV1
您的提示应更改为:
(ENV1) C:\Users\whatever>
工作完成后,只需说:
(ENV1) C:\Users\whatever> 畅达停用
因为一遍又一遍地删除文件夹显然很不方便
您可以通过添加 --force
选项覆盖现有环境。
所以:
conda create -n ENV1 python=2.7.12 anaconda --force
请确保您已更新 anaconda,因为它是最近的功能。
编辑:--force
功能是在 conda 4.6 中添加的,但显然在最新版本 4.7、4.8 上,它并不总是有效
当先前删除了conda环境,但实际目录仍然存在(由于某种原因)时,"conda env remove -n ENV1"将不执行任何操作:
$ 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
所以你可以删除实际的ENV1目录,如下:
$ ENV_BASE=$(conda-env list | awk '/base/ { print $NF }')
$ echo $ENV_BASE
/home/nmanos/miniconda
$ rm -rf "$ENV_BASE/envs/ENV1"
- 打开您的
environment.yml
文件
- 检查环境的
name
和prefix
,通常在文件的第一行(名称)和最后一行(前缀)。
- 将名称和前缀路径重命名为您尝试创建新环境的任何名称。
- 运行 再次创建环境命令。
conda env list
现在应该给你新的环境了。
您很可能拥有另一个环境的名称(和前缀),该环境已经存在于您获得 environment.yml.[= 的地方14=]
参考:
https://uoa-eresearch.github.io/eresearch-cookbook/recipe/2014/11/20/conda/
我已经 运行 使用以下命令来安装 conda 并创建虚拟环境。在我的问题的代码块之后继续阅读。
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
我在这里选择 'n',因为这是我 Linux 服务器崩溃的时候,因为我 运行 磁盘不足 space 当十亿个程序(提供或接受) 被要求安装。相反,我选择了 'n',然后想将其记录到一个文件中,这样我就可以看到整个列表,因为我无法在 Windows 命令提示符中向上滚动,所以我 运行下面的代码代替。它坐了一会儿,然后我用 CTRL+C 打破了。在我的问题的代码块之后继续阅读。
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
如何删除 ENV1 前缀以便尝试重新安装?以及如何在 Windows 中记录所有这些输出。如果我移动到 C:\output.txt.
则输入不可见我只是删除了文件夹 C:\Program Files\Miniconda2\envs\ENV1\
。
下次打开终端提示是 (基数)C:\Users\whatever> 只需输入: (基础) C:\Users\whatever> conda 激活 ENV1
您的提示应更改为: (ENV1) C:\Users\whatever>
工作完成后,只需说: (ENV1) C:\Users\whatever> 畅达停用
因为一遍又一遍地删除文件夹显然很不方便
您可以通过添加 --force
选项覆盖现有环境。
所以:
conda create -n ENV1 python=2.7.12 anaconda --force
请确保您已更新 anaconda,因为它是最近的功能。
编辑:--force
功能是在 conda 4.6 中添加的,但显然在最新版本 4.7、4.8 上,它并不总是有效
当先前删除了conda环境,但实际目录仍然存在(由于某种原因)时,"conda env remove -n ENV1"将不执行任何操作:
$ 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
所以你可以删除实际的ENV1目录,如下:
$ ENV_BASE=$(conda-env list | awk '/base/ { print $NF }')
$ echo $ENV_BASE
/home/nmanos/miniconda
$ rm -rf "$ENV_BASE/envs/ENV1"
- 打开您的
environment.yml
文件 - 检查环境的
name
和prefix
,通常在文件的第一行(名称)和最后一行(前缀)。 - 将名称和前缀路径重命名为您尝试创建新环境的任何名称。
- 运行 再次创建环境命令。
conda env list
现在应该给你新的环境了。
您很可能拥有另一个环境的名称(和前缀),该环境已经存在于您获得 environment.yml.[= 的地方14=]