Le clonage de la racine de l'environnement avec l'Anaconda
En passant par l'un des (très peu) des tutoriels sur l'Anaconda, j'ai essayé:
$ conda create -n rootclone --clone root
Cet échec:
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
Et mal. L'environnement est créé:
$ 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
Mais ça ne marche pas à tous:
$ . 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
Mais est-ce un vrai bug, ou est conda create -n --clone
tout simplement pas conçus pour le clonage de la conda racine de l'environnement?
Une recherche rapide sur le GitHub questions montre qu'il y a d'autres personnes qui déclarent des choses semblables comme des bugs et de ne pas dire "ne fais pas ça, dummy", comme #1248.
Pendant ce temps, que ce soit sur le bug tracker ou sur StackOverflow, vous obtiendrez probablement plus/mieux aider si vous nous dites de la plate-forme sur laquelle vous êtes, qui Anaconda version que vous avez, comment vous l'avez installé, etc.
Je ne vois aucune raison pourquoi vous devez clone de la racine. Racine détient les packages par défaut utilisée lors de la création de nouveaux env. Vous ne pouvez cloner envs qui sont dans envs dossier. Notez que la racine n'est pas dans la envs dossier.
Vous devriez être en mesure de cloner la racine de l'amende juste. Une conda de l'environnement n'a pas à être dans le envs répertoire à un environnement.
Je pense que vous êtes à court de mémoire parce que vous tentez de clone de la racine, qui contient d'autres envs. Lorsque la cloné racine est créé, il tente alors de cloner le cloné racine. Il est récursif et les causes de l'utilitaire pour l'exécution de mémoire.
Pendant ce temps, que ce soit sur le bug tracker ou sur StackOverflow, vous obtiendrez probablement plus/mieux aider si vous nous dites de la plate-forme sur laquelle vous êtes, qui Anaconda version que vous avez, comment vous l'avez installé, etc.
Je ne vois aucune raison pourquoi vous devez clone de la racine. Racine détient les packages par défaut utilisée lors de la création de nouveaux env. Vous ne pouvez cloner envs qui sont dans envs dossier. Notez que la racine n'est pas dans la envs dossier.
Vous devriez être en mesure de cloner la racine de l'amende juste. Une conda de l'environnement n'a pas à être dans le envs répertoire à un environnement.
Je pense que vous êtes à court de mémoire parce que vous tentez de clone de la racine, qui contient d'autres envs. Lorsque la cloné racine est créé, il tente alors de cloner le cloné racine. Il est récursif et les causes de l'utilitaire pour l'exécution de mémoire.
OriginalL'auteur birone | 2015-05-17
Vous devez vous connecter pour publier un commentaire.
Utiliser la commande suivante pour cloner racine par défaut de l'environnement de l'Anaconda, la racine de l'environnement est nommé en tant que base. Cela a fonctionné pour moi avec Anaconda3-5.0.1
Travaillé pour créer un nouveau env. Mais j'ai reçu un msg: Les paquets suivants ne peuvent pas être cloné de la racine de l'environnement: -conda-env-2.6.0-1 -conda-4.5.12-py37_0 -conda-build-3.17.6-py37_0. Si quelqu'un pouvait situer dans le contexte de ce message et pourquoi ces paquets ne sont pas clonés, qui pourrait être utile pour la compréhension.
OriginalL'auteur DevC
La
MemoryError
indique que la conda processus a manqué de mémoire. Peut-être vous avez besoin d'allouer plus d'espace de pagination de la mémoire.Le clonage a bien fonctionné sur un non-root env, donc je pense que le problème est peut-être quelque chose de similaire à alvits suggestion...
Question posée: github.com/conda/conda/issues/1339
Personne ne sait si cela est fixe et il est sûr de clone de la racine env? J'ai fait un peu de recherche, mais il y avait beaucoup de postes liés à des erreurs et le clonage de la racine env.
Est-il une mise à jour sur ce point?
OriginalL'auteur asmeurer