it-swarm.dev

Was macht conda beim "Lösen der Umgebung"?

Jedes Mal, wenn ich conda install/remove/update <package> betreibe, sagt es mir, dass es eine Zeit lang "Lösungsumgebung" ist, bevor mir die Liste der Dinge angezeigt wird, die heruntergeladen/installiert/aktualisiert werden sollen. Vermutlich wird nach Abhängigkeiten für <package> gesucht, aber warum werden manchmal remove packages nach dieser Operation entfernt? Als ich zum Beispiel versuchte, Mayavi zu installieren, entschied man sich, Anaconda Navigator zu entfernen. 

Darüber hinaus bietet es keine Option, nur eine Teilmenge der vorgeschlagenen Operationen auszuführen. Gibt es eine Möglichkeit, anzugeben, dass ein Paket nicht entfernt werden soll?

12
dkv

Sie können die Option --debug zum Befehl conda hinzufügen und die Ausgabe von Konsole (oder Terminal) anzeigen. Geben Sie beispielsweise conda update --debug numpy..__ ein. In der Ausgabe können Sie sehen, dass der Client repodata.json von der Kanalliste anfordert und lokal im Schritt Solving Environment einige Berechnungen durchführt.

9
zhaofeng-shu33

Als Randnotiz zum Schritt "Lösungsumgebung" ...
Mangelnde Administratorrechte können beeinflussen, ob und wo Sie Python-Pakete installieren können.

Ich habe festgestellt, dass meine Installationen beim Schritt "Lösungsumgebung" hängen bleiben und niemals durchkommen, wenn Sie versuchen, Pakete zu installieren, während Sie als Nicht-Administrator angemeldet sind. 

Der Wechsel zu admin war für mich auf der Maschine möglich, an der ich festgeblieben war. Also habe ich das getan und das Problem gelöst.

Der Kommentator erläutert die Problemumgehung, wenn dies nicht möglich ist.

1
Katyjean57

conda install --Prune <<package>> hat mir geholfen, den richtigen Kanal zu installieren.

Die verwendete verdächtige Umgebung ist für Zipline und Kanal nicht kompatibel mit der vorhandenen. Prune braucht viel Zeit, hat mir aber bei der Lösung der Umweltprobleme geholfen.

0
Venkat Govindan