2015-05-17 10 views
8

Wenn man durch eine (sehr wenige verfügbar) tutorials on Anaconda, habe ich versucht:Cloning Root-Umgebung mit Anaconda

$ conda create -n rootclone --clone root 

Dies schlug fehl:

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 

Und schlecht. Die Umgebung wird erstellt:

$ 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 

Aber es ist gar nicht funktioniert:

$ . activate rootclone 
discarding /home/bir/conda/bin from PATH 
prepending /home/bir/conda/envs/rootclone/bin to PATH 
(rootclone)[email protected]:~/python$ which python 
/usr/bin/python # Should be in /home/bir/conda/envs/rootclone/bin 

Aber ist das ein echter Fehler, oder ist conda create -n --clone einfach nicht ausgelegt für die Conda Wurzelumgebung klonen?

+0

Eine schnelle Suche der GitHub Fragen zeigt, dass es die Berichterstattung andere Menschen ähnliche Dinge wie Bugs und nicht gesagt, „tun das nicht, dummy“, wie [ # 1248] (https://github.com/conda/conda/issues/1248). – abarnert

+0

In der Zwischenzeit, ob auf ihrem Problem Tracker oder auf StackOverflow, werden Sie wahrscheinlich mehr/bessere Hilfe bekommen, wenn Sie uns sagen, welche Plattform Sie sind, welche Anaconda-Version Sie haben, wie Sie es installiert haben usw. – abarnert

+0

Ich nicht irgendeinen Grund sehen, warum du root klonen würdest. Root enthält die Standardpakete, die beim Erstellen eines neuen env verwendet werden. Sie können nur envs im envs-Ordner klonen. Beachten Sie, dass root nicht im Ordner envs enthalten ist. – alvits

Antwort

1

Die MemoryError zeigt an, dass der Conda-Prozess nicht genügend Arbeitsspeicher hatte. Vielleicht müssen Sie mehr Swap-Speicher zuweisen.

+0

Ich denke, der Klon versucht, root rekursiv zu klonen und dabei envs/rootclone zu erzeugen, die als envs/rootclone/envs/rootclone geklont werden. – alvits

+0

Klonen funktionierte gut auf einem nicht-root-env, so denke ich, das Problem könnte etwas ähnlich zu alvits 'Vorschlag sein ... – birone

+0

Problem ausgelöst: https://github.com/conda/conda/issues/1339 – birone

0

Verwenden Sie den folgenden Befehl zum Klonen der Standard-Root-Umgebung von Anaconda, die Root-Umgebung wird als Base bezeichnet. Dieser arbeitete für mich mit Anaconda3-5.0.1

conda create --name <env_name> --clone base