pip cài đặt quyền truy cập bị từ chối trên Windows


110

Tôi đang cố gắng chạy pip install mitmproxytrên Windows, nhưng tôi liên tục bị từ chối truy cập, ngay cả với cmdPowerShellsử dụng Run as Administratortùy chọn.

WindowsError: [Error 5] Access is denied: 'c:\\users\\bruno\\appdata\\local\\temp\\easy_install-0fme6u\\cryptography-0.9.1\\.eggs\\cffi-1.1.2-py2.7-win-amd64.egg\\_cffi_backend.pyd'

Làm thế nào tôi có thể làm cho việc này hoạt động?


Câu trả lời:


139

Trong trường hợp cửa sổ, trong cmd cố gắng chạy cài đặt pip bằng tệp thực thi python

ví dụ

python -m pip install mitmproxy

điều này sẽ hoạt động, ít nhất nó đã hoạt động đối với tôi cho cài đặt gói khác.


6
Vì bất kỳ lý do gì, quyền đối với tệp tạm thời ít hơn toàn quyền kiểm soát đối với người dùng của tôi. Đi qua tuyến đường này python -mđã tạo ra sự khác biệt.
Jason Dunkelberger

2
Chúng ta có biết tại sao nó hoạt động không? Và không thông qua quyền hạn?
Big Money

66

Thay đổi quyền bảo mật của thư mục cài đặt Python của bạn bằng cách:

  1. Mở một trình bao Python
  2. Đi tới trình quản lý tác vụ
  3. Tìm quy trình python
  4. Nhấp chuột phải và mở vị trí
  5. Thư mục sẽ mở trong explorer, đi lên một thư mục
  6. Nhấp chuột phải vào thư mục và chọn thuộc tính
  7. Nhấp vào tab bảo mật và nhấn 'chỉnh sửa'
  8. Thêm mọi người và cấp cho họ quyền Đọc và Viết.
  9. Lưu các thay đổi của bạn

Nếu bạn mở cmdvới tư cách quản trị viên; thì bạn có thể làm như sau:

Nếu Python được đặt trong của bạn PATH, thì:

python -m pip install mitmproxy

3
Tôi đã phải làm điều này cho cả TẤT CẢ CÁC GÓI ỨNG DỤNG và Người dùng, nhưng sau đó nó hoạt động.
Chronicle

1
Hoạt động hoàn hảo. Cảm ơn rất nhiều!
Sudipto Shome

3
Lộ trình thay thế với nỗ lực tương tự: 1) Cài đặt Linux 2)sudo pip install foo
Nearoo

1
@Chronicle Bạn có thực sự cho phép mọi người đọc và ghi vào hồ sơ người dùng không? Nếu có, đó là một ý tưởng khá tồi (rất tệ).
David Ferenczy Rogožan,

@Richard Làm cách nào để thêm quyền đọc và ghi vào thư mục của Python có thể giải quyết vấn đề với quyền bị từ chối trong tempthư mục của người dùng ? Tôi sẽ nói rằng đó là cách thực thi pip( python -m pipthay vì chỉ pipnhư @nayak đề xuất) mới có ích, 9 bước trước đó rất có thể không liên quan (vì nó thực sự không có ý nghĩa gì).
David Ferenczy Rogožan,

27

Cá nhân tôi thấy rằng bằng cách mở cmdvới tư cách quản trị viên sau đó chạy python -m pip install mitproxy dường như đã khắc phục được sự cố của tôi.

Lưu ý: - Tôi đã cài đặt python thông quachocolatey


Bạn đã cứu một ngày của tôi, anh bạn!
Maulik Dodia

1
nếu bạn điều hành cmdvới tư cách quản trị viên, bạn sẽ có thể làm việc bình thường pip install [package]. Làm việc cho tôi anyway.
EliSquared

14

Một điều bổ sung chưa được đề cập trong các câu trả lời trước và điều đó thường gây ra sự cố trên Windows và khiến tôi không thể cài đặt một số gói mặc dù đang chạy với tư cách quản trị viên là bạn nhận được cùng một lỗi bị từ chối nếu có một chương trình khác sử dụng một số tệp của bạn. (hoặc pip install) cố gắng truy cập. Đây là một "tính năng" thực sự ngu ngốc của Windows bật lên nhiều lần, ví dụ khi cố gắng di chuyển một số tệp.

Ngoài ra, tôi không có manh mối nào để tìm ra chương trình nào khóa một tệp cụ thể, vì vậy, việc dễ dàng nhất để làm là khởi động lại và thực hiện cài đặt trước khi bắt đầu bất cứ thứ gì, đặc biệt là trước khi chạy, ví dụ như Spyder hoặc bất kỳ phần mềm dựa trên Python nào khác. Bạn cũng có thể thử đóng tất cả các chương trình, nhưng sẽ rất khó để biết chương trình nào thực sự chứa tệp. Đối với một thư mục chẳng hạn, chỉ cần bạn mở cửa sổ Explorer tại thư mục đó là đủ.


Vâng, đã lừa cho tôi! Tôi đã làm việc đồng thời trong Git Bash, Pycharm Terminal và Windows Terminal, sau khi đóng 2/3 mọi thứ đều hoạt động.
Cappo

10

Mở cmd với "Run as administrator" và thực hiện lệnh pip install mitmproxy. Nó sẽ cài đặt nó.


10

Như, tôi đang cài đặt thông qua anaconda Prompt. Trong trường hợp của tôi, nó thậm chí không hoạt động với python -m pip installSau đó, tôi thêm điều này

python -m pip install <package_name> --user

Nó làm việc cho tôi.

Giống: python -m pip install "numpy-1.15.4+mkl-cp36-cp36m-win_amd64.whl" --user

Lưu ý rằng báo giá kép là không cần thiết, bạn có thể cung cấp tên gói bạn muốn cài đặt.

Một cách khác, bạn nên thử chạy Command Prompt dưới dạng Run as Administrator và sau đó thử cài đặt pip. Nó cũng sẽ hoạt động.


Điều này làm việc để tôi cài đặt các gói python (trong trường hợp này là giao hưởng) ở trường. Cảm ơn!
JDG

Giải pháp tốt nhất khi bạn không có quyền quản trị hệ thống của mình.
Ajay Sharma

5

Cố gắng cấp quyền kiểm soát hoàn toàn thư mục python.

Tìm thư mục gốc của python -> nhấp chuột phải -> thuộc tính -> bảo mật -> chỉnh sửa -> cung cấp cho người dùng Toàn quyền kiểm soát -> có và đợi quá trình kết thúc.

Nó làm việc cho tôi.


3

Cố gắng xóa thư mục c:\\users\\bruno\\appdata\\local\\temp\\easy_install-0fme6utheo cách thủ công và sau đó thử lại lệnh pip.


Cảm ơn vì điều đó. Một số tệp pip tạm thời đã chặn cài đặt.
Eok

3

Mở dấu nhắc lệnh Vì Quản trị viên vừa làm việc cho tôi mà không sử dụng tệp thực thi Python. Nhấp chuột phải vào phím tắt nhắc lệnh và chọn "Chạy với tư cách Quản trị viên". Sau đó chạy lệnh sau.

pip install Django

Đối với tôi cũng vậy - chỉ cần chạy cmd với tư cách quản trị viên.
Charidimos

3

Nguyên nhân trong trường hợp của tôi là có một sổ ghi chép jupyter đang mở, đang nhập thư viện liên quan; nguyên nhân gốc có vẻ là lỗi windows do tệp đang mở / đang được sử dụng (xem thêm câu trả lời của @ Robert và khuyến nghị khởi động lại).

Vì vậy, một điều khác cần xác minh là không có quy trình python nào khác đang chạy.

Đối với tôi, việc tắt máy chủ sổ tay đã giải quyết được vấn đề.


2
  1. Mở Command Prompt với tư cách Quản trị viên.

  2. Để cài đặt bất kỳ Gói Python nào, hãy sử dụng lệnh này bao gồm --user.

pip install --ignore-installed --upgrade --user <packagename>


1

Khi vẫn thất bại, hãy thử thoát IDE của bạn. Tôi đã gặp nhiều trường hợp mà PyCharm đã gây ra điều này. Ngay sau khi tôi thoát khỏi PyCharm, cuối cùng tôi đã có thể cài đặt các gói của mình từ dòng lệnh. Ngoài ra, bạn cũng có thể cài đặt thông qua chính PyCharm trong Cài đặt -> Dự án: xxx -> Trình thông dịch dự án -> +.


1
Tôi đã cùng một vấn đề cho đến khi tôi đóng Spyder
atm

0

Chạy cmd.exe với tư cách quản trị viên, sau đó nhập:

python -m pip install

0

Tôi đã gặp sự cố tương tự nhưng báo cáo lỗi là về

[SSL: TLSV1_ALERT_ACCESS_DENIED] tlsv1 alert access denied (_ssl.c:777)

Đầu tiên, tôi đã thử https://python-forum.io/Thread-All-pip-install-attempts-are-met-with-SSL-error#pid_28035 này , nhưng có vẻ như nó không thể giải quyết được sự cố của tôi và vẫn lặp lại cùng một vấn đề.

Và Thứ hai, nếu bạn đang làm việc trên máy tính doanh nghiệp, nói chung nó có thể tồn tại một bộ lọc nội dung web (nhưng tôi có thể truy cập trực tiếp vào https://pypi.python.org thông qua trình duyệt). Và giải quyết vấn đề này bằng cách thêm một máy chủ proxy.

Đối với windows, hãy mở Internet propertiesthông qua IE hoặc Chrome hoặc bất kỳ thứ gì, sau đó đặt địa chỉ và cổng proxy hợp lệ và cách này sẽ giải quyết được sự cố của tôi

Hoặc chỉ cần thêm tùy chọn pip --proxy [proxy-address]:port install mitmproxy. Nhưng bạn luôn cần thêm tùy chọn này trong khi cài đặt bằng pypi

Hai giải pháp trên là thay thế cho nhu cầu của bạn.


0

Trong trường hợp của tôi, nó thậm chí không hoạt động với python -m pip install

Những gì tôi đã làm, từ một cmd với tư cách là quản trị viên:

PsExec.exe -i -s -d cmd.exe

Để tạo ra một cmd HỆ THỐNG, sau đó pip install mitmproxy

;)


-1

Chỉ cần đóng tất cả các tệp python đã mở. Và cố gắng chạy với tư cách quản trị viên. Nó sẽ hoạt động.

ví dụ

pip install numpy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.