【发布时间】:2015-07-29 06:44:06
【问题描述】:
通过tutorials on Anaconda 之一(极少数可用),我尝试了:
$ conda create -n rootclone --clone root
这失败了:
src_prefix: '/home/bir/conda'
dst_prefix: '/home/bir/conda/envs/rootclone'
Packages: 49
Files: 471
An unexpected error has occurred, please consider sending the
following traceback to the conda GitHub issue tracker at:
https://github.com/conda/conda/issues
Include the output of the command 'conda info' in your report.
Traceback (most recent call last):
File "/home/bir/conda/bin/conda", line 5, in <module>
sys.exit(main())
File "/home/bir/conda/lib/python2.7/site-packages/conda/cli/main.py", line 203, in main
args_func(args, p)
File "/home/bir/conda/lib/python2.7/site-packages/conda/cli/main.py", line 208, in args_func
args.func(args, p)
File "/home/bir/conda/lib/python2.7/site-packages/conda/cli/common.py", line 609, in inner
return func(args, parser)
File "/home/bir/conda/lib/python2.7/site-packages/conda/cli/main_create.py", line 50, in execute
install.install(args, parser, 'create')
File "/home/bir/conda/lib/python2.7/site-packages/conda/cli/install.py", line 170, in install
clone(args.clone, prefix, json=args.json, quiet=args.quiet)
File "/home/bir/conda/lib/python2.7/site-packages/conda/cli/install.py", line 91, in clone
quiet=quiet)
File "/home/bir/conda/lib/python2.7/site-packages/conda/misc.py", line 177, in clone_env
data = s.encode('utf-8')
MemoryError
而且很糟糕。环境已创建:
$ conda info -e
# conda environments:
#
oracle /home/bir/conda/envs/oracle
oracleclone /home/bir/conda/envs/oracleclone
rootclone /home/bir/conda/envs/rootclone
root * /home/bir/conda
但它根本不起作用:
$ . activate rootclone
discarding /home/bir/conda/bin from PATH
prepending /home/bir/conda/envs/rootclone/bin to PATH
(rootclone)bir@N2C:~/python$ which python
/usr/bin/python # Should be in /home/bir/conda/envs/rootclone/bin
但这是一个真正的错误,还是conda create -n --clone 不是为克隆 conda 根环境而设计的?
【问题讨论】:
-
对 GitHub 问题的快速搜索显示,还有其他人报告了类似的错误,但没有被告知“不要这样做,笨蛋”,例如 #1248。
-
同时,无论是在他们的问题跟踪器上还是在 StackOverflow 上,如果您告诉我们您使用的平台、您拥有的 Anaconda 版本、安装方式,您可能会获得更多/更好的帮助,等
-
我看不出你为什么要克隆根用户。 Root 保存创建新环境时使用的默认包。您只能克隆 envs 文件夹中的环境。请注意,root 不在 envs 文件夹中。
-
你应该可以克隆root就好了。 conda 环境不一定要在 envs 目录中才能成为环境。
-
我认为您的内存不足,因为您正在尝试克隆包含其他环境的根目录。创建克隆的根后,它会尝试克隆克隆的根。它是递归的,会导致实用程序内存不足。