Python anaconda conda 问题:无法更新 anaconda 包,因为进程 运行

Python anaconda conda issue: updating anaconda package impossible because processes are running

我在使用 conda 更新 anaconda 的包时遇到问题。当我进行 conda update --all 时,有一个问题对我说:

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

但是,none进程是运行,我刚刚打开cmd window。 例如,当我想要更新 dateutile 时,情况相同。 就像 conda 使用了一些包然后我无法更新它们一样? 有人知道关闭或删除这些软件包以重新安装它们的方法吗?

参考资料:

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

conda 无法更新此软件包的原因是当您在 默认环境 中调用 conda installconda update 时,它会连接到互联网以获取最新信息版本。 为此,conda 使用 默认环境 中的 cryptography 库,因此它锁定了此文件:

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

因此,为了克服这个特殊问题,您可以在离线模式下安装最新的 cryptography 软件包,从而避免 conda 锁定该文件。

如果您尝试更新包但失败了 - 它已经被下载并且它的路径应该是:<Anaconda_folder_path>/pkgs/cryptography-0.8.2-py27_0.tar.bz2(如果没有,您可能需要手动下载它)。

将此文件复制到任何其他位置,然后在离线模式下安装包:

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

这已经解决了我的问题。

下个版本的conda会改善这种情况,但目前可以使用conda install -f cryptography强制conda更新密码。