2015-04-29 16 views
8

Tôi gặp vấn đề với việc cập nhật các gói của anaconda với conda. khi tôi cập nhật nội dung - tất cả đều có vấn đề với tôi:Vấn đề về anaconda của Python: cập nhật gói anaconda không thể bởi vì các quy trình đang chạy

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

tuy nhiên, không có quy trình nào đang chạy, tôi chỉ mở cửa sổ cmd. Cùng một câu chuyện khi tôi muốn cập nhật dateutile chẳng hạn. Nó giống như nếu conda sử dụng một số gói và sau đó tôi không thể cập nhật chúng? Ai đó biết phương pháp đóng hoặc xóa các gói đó để cài đặt lại chúng?

Để biết thông tin:

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

Nếu bạn chạy 'conda --debug update --all', nó sẽ cho bạn biết tệp nào đang mở đang ngăn cập nhật. – asmeurer

Trả lời

9

Tình trạng này sẽ được cải thiện trong phiên bản tiếp theo của conda, nhưng hiện tại, bạn có thể sử dụng conda install -f cryptography để buộc conda cập nhật mật mã.

+0

Đã thử rằng, không làm việc cho tôi thật không may (Win8.1) – Primer

+0

Hmm. Điều gì đã xảy ra chính xác? – asmeurer

+0

Trả về cùng một lỗi như thể bạn sẽ chạy 'conda install' mà không có tham số' -f': 'Lỗi: Không thể xóa tệp cho gói: mật mã'. Tôi nghĩ rằng điều này là để được mong đợi vì có một hệ thống khóa trên một trong các tập tin trong 'cryptography' gói. – Primer

2

Lý do conda thất bại trong việc cập nhật này gói là bởi vì khi bạn gọi conda install hoặc conda update trong môi trường mặc định nó kết nối với internet để có được phiên bản mới nhất. Và để làm conda này sử dụng cryptography thư viện từ môi trường mặc định và do đó nó khóa tập tin này:

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

Vì vậy, để khắc phục vấn đề đặc biệt này, bạn có thể cài đặt các cryptography gói mới nhất trong chế độ offline như vậy tránh được conda khóa đó tập tin.

Nếu bạn đã thử và không cập nhật gói - gói này đã được tải xuống và đường dẫn của nó phải là: <Anaconda_folder_path>/pkgs/cryptography-0.8.2-py27_0.tar.bz2 (Nếu không, bạn có thể cần tải xuống theo cách thủ công).

Sao chép tập tin này cho bất kỳ vị trí khác và sau đó isntall gói trong chế độ offline:

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

này đã khắc phục vấn đề đối với tôi.

+0

Ok, tôi hiểu rồi. Đó là một chút lạ với tôi vì sự quan tâm của cập nhật - tất cả là không làm cho tất cả các bản cập nhật bằng tay. Kỹ thuật của bạn hoạt động tốt và thực sự, tất cả các gói đã được tải xuống trong thư mục pkgs mà bạn đã đề cập. Cảm ơn rất nhiều câu trả lời của bạn. Tôi không thể gắn thẻ câu trả lời của bạn là câu trả lời hay nhất vì tôi không có đủ điểm nhưng nó giúp tôi rất nhiều. – ymmx

+0

Vui vì nó đã giúp. Tuy nhiên: 'Sử dụng cơ bản trang web, bao gồm đặt câu hỏi, trả lời và đề xuất chỉnh sửa, không yêu cầu bất kỳ danh tiếng nào '. Có lẽ [this] (http://meta.stackexchange.com/a/5235) có thể giúp tìm ra cách xử lý các câu trả lời ... – Primer

Các vấn đề liên quan