2015-04-29 5 views
8

Ich habe ein Problem mit der Aktualisierung von Anacondas Pakete mit Conda. wenn ich ein Conda Update --alle es mache, ist ein Thema, das ich sagt:Python Anaconda Conda Problem: Update Anaconda-Paket unmöglich, weil Prozesse laufen

Error: Unable to remove files for package: cryptography 
Please close all processes running code from cryptography and try again. 

jedoch kein Prozess ausgeführt werden, ich habe nur das cmd Fenster geöffnet. Gleiche Geschichte, wenn ich dateutile zum Beispiel aktualisieren will. Es ist wie wenn Conda ein Paket verwendet und dann kann ich sie nicht aktualisieren? Kennt jemand eine Methode, um diese Pakete zu schließen oder zu entfernen, um sie neu zu installieren?

Informationen:

C:\Anaconda3\Scripts>conda info -a 
Current conda install: 
platform : win-64 
conda version : 3.11.0 
conda-build version : 1.11.0 
python version : 3.4.3.final.0 
requests version : 2.6.2 
root environment : C:\Anaconda3 (writable) 
default environment : C:\Anaconda3 
envs directories : C:\Anaconda3\envs 
package cache : C:\Anaconda3\pkgs 
channel URLs : https://conda.binstar.org/juanlu001/win-64/ 
https://conda.binstar.org/juanlu001/noarch/ 
https://repo.continuum.io/pkgs/free/win-64/ 
https://repo.continuum.io/pkgs/free/noarch/ 
https://repo.continuum.io/pkgs/pro/win-64/ 
https://repo.continuum.io/pkgs/pro/noarch/ 
config file : C:\Users\maxime.condarc 
is foreign system : False 
+1

Wenn Sie 'conda --debug update --all 'ausführen, sollte es Ihnen sagen, welche Datei geöffnet ist, die das Update verhindert. – asmeurer

Antwort

9

Diese Situation wird in der nächsten Version von Conda verbessert, aber jetzt können Sie conda install -f cryptography verwenden, um Conda zu zwingen, die Kryptographie zu aktualisieren.

+0

Versuchte das, funktionierte leider nicht für mich (Win8.1) – Primer

+0

Hmm. Was genau passierte? – asmeurer

+0

Derselbe Fehler wurde zurückgegeben, als ob Sie 'conda install' ohne' -f' Parameter ausführen würden: 'Fehler: Dateien für Paket: Kryptografie können nicht entfernt werden. Ich dachte, das ist zu erwarten, da es eine Systemsperre für eine der Dateien im 'cryptography' Paket gibt. – Primer

2

Der Grund Conda versagt ist diese Pakete zu aktualisieren, da, wenn Sie conda install oder conda update in der Standardumgebung rufen es um Internet verbindet neueste Version zu bekommen. Und diese Conda verwendet cryptography Bibliothek aus der Standardumgebung tun und daher sperrt es diese Datei:

<Anaconda_folder_path>/Lib/site-packages/cryptography-0.8.1-py2.7-win-amd64.egg/cryptography/_Cryptography_cffi_f3e4673fx399b1113.pyd 

So dieses spezielle Problem überwinden Sie das neueste cryptography Paket im Offline-Modus installieren könnten somit Conda Verriegelung zu vermeiden, dass Datei.

Wenn Sie versucht haben und es versäumt haben, das Paket zu aktualisieren - es wurde bereits heruntergeladen und sein Pfad sollte lauten: <Anaconda_folder_path>/pkgs/cryptography-0.8.2-py27_0.tar.bz2 (Falls nicht, müssen Sie es möglicherweise manuell herunterladen).

Kopieren Sie diese Datei an einen anderen Ort und dann isntall das Paket im Offline-Modus:

conda install <path_to_new_location>cryptography-0.8.2-py27_0.tar.bz2 

Dies das Problem für mich gerichtet hat.

+0

Ok, ich verstehe. Es ist ein bisschen seltsam für mich, weil das Interesse von update --all ist, nicht alle Updates manuell zu machen. Ihre Technik funktioniert gut und in der Tat wurden alle Pakete bereits in dem von Ihnen erwähnten Ordner pkgs heruntergeladen. Vielen Dank für Ihre Antwort. Ich kann deine Antwort nicht als gut bezeichnen, weil ich nicht genug Punkte habe, aber es hilft mir sehr. – ymmx

+0

Froh, dass es geholfen hat. Allerdings: "Die grundlegende Nutzung der Website, einschließlich Fragen stellen, Beantworten und Verbesserungsvorschläge, erfordert keinerlei Ansehen." Vielleicht kann [dies] (http://meta.stackexchange.com/a/5235) helfen, herauszufinden, wie man mit Antworten umgehen kann ... – Primer