2015-04-29 4 views
8

Ho un problema con l'aggiornamento dei pacchetti di anaconda con conda. quando faccio un aggiornamento Conda --Tutte c'è un problema, che mi dice:Problema di Python anaconda conda: aggiornamento del pacchetto anaconda impossibile perché i processi sono in esecuzione

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

tuttavia, nessuno di processo sono in esecuzione, ho appena aperto la finestra cmd. Stessa storia quando voglio aggiornare dateutile per esempio. È come se conda utilizza qualche pacchetto e quindi non posso aggiornarli? Qualcuno conosce un metodo per chiudere o rimuovere quei pacchetti per reinstallarli?

Per informazioni:

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

Se si esegue 'conda --debug update --all' dovrebbe dirvi quale file è aperto che impedisce l'aggiornamento. – asmeurer

risposta

9

Questa situazione sarà migliorata nella prossima versione di conda, ma per ora è possibile utilizzare conda install -f cryptography per forzare la conda ad aggiornare la crittografia.

+0

Ho provato che, purtroppo, non ha funzionato per me (Win8.1) – Primer

+0

Hmm. Cosa è successo esattamente? – asmeurer

+0

Restituito lo stesso errore di se si eseguisse 'conda install' senza parametro' -f': 'Errore: impossibile rimuovere i file per il pacchetto: cryptography'. Ho pensato che questo è da aspettarsi poiché c'è un blocco di sistema su uno dei file nel pacchetto 'cryptography'. – Primer

2

Il motivo Conda non riesce ad aggiornare questi pacchetti è perché quando si chiama conda install o conda update nell'ambiente predefinita si connette a Internet per ottenere le versioni più recenti. E per fare questo Conda utilizza cryptography biblioteca dall'ambiente predefinito e quindi non si blocca questo file:

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

Quindi, per ovviare a questo problema particolare è possibile installare l'ultimo pacchetto cryptography in modalità offline evitando così di bloccaggio Conda che file.

Se si è tentato e non è riuscito ad aggiornare il pacchetto, è già stato scaricato e il percorso deve essere: <Anaconda_folder_path>/pkgs/cryptography-0.8.2-py27_0.tar.bz2 (In caso contrario, potrebbe essere necessario scaricarlo manualmente).

Copia questo file in qualsiasi altro luogo e poi istallare il pacchetto in modalità offline:

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

Questo ha risolto il problema per me.

+0

Ok, capisco. È un po 'strano per me perché l'interesse dell'aggiornamento è tutto, non è quello di fare tutti gli aggiornamenti manualmente. La tua tecnica funziona bene e, infatti, tutti i pacchetti sono già stati scaricati nella cartella pkgs che hai menzionato. Grazie mille per la risposta. Non posso etichettare la tua risposta come buona perché non ho abbastanza punti, ma mi aiuta molto. – ymmx

+0

Felice di averlo aiutato. Tuttavia: "L'uso di base del sito, comprese le domande, la risposta e il suggerimento di modifiche, non richiede alcuna reputazione". Forse [questo] (http://meta.stackexchange.com/a/5235) può aiutare a capire come gestire le risposte ... – Primer