Không thể cài đặt gói do lỗi Môi trường: [WinError 5] Quyền truy cập bị từ chối:


89

Tôi có windows 10. Tôi đã hoàn tất cài đặt Tensorflow. Nó hoạt động. Nó nói "Xin chào Tensorflow!". Nhưng nó có tất cả những điều này trước nó:

2018-08-18 18:16:01.500579: I T:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 2018-08-18 18:16:01.769002: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1405] Found device 0 with properties: name: GeForce GTX 950 major: 5 minor: 2 memoryClockRate(GHz): 1.3545 pciBusID: 0000:01:00.0 totalMemory: 2.00GiB freeMemory: 1.64GiB 2018-08-18 18:16:01.774030: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1484] Adding visible gpu devices: 0 2018-08-18 18:16:02.095489: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:965] Device interconnect StreamExecutor with strength 1 edge matrix: 2018-08-18 18:16:02.099093: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:971] 0 2018-08-18 18:16:02.100631: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:984] 0: N 2018-08-18 18:16:02.102156: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1097] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 1401 MB memory) -> physical GPU (device: 0, name: GeForce GTX 950, pci bus id: 0000:01:00.0, compute capability: 5.2) Hello Tensorflow!

Quá trình trả về 0 (0x0) thời gian thực hiện: 2,327 giây Nhấn phím bất kỳ để tiếp tục

Khi tôi gõ pip3 install --upgrade tensorflow-gputrong cmb, cả hành chính và bình thường tôi có được điều này Could not install packages due to an EnvironmentError: [WinError 5] Access is denied: 'c:\\users\\dylan\\appdata\\local\\programs\\python\\python35\\Lib\\site-packages\\numpy\\.libs\\libopenblas.BNVRK7633HSX7YVO2TADGR4A5KEKXJAW.gfortran-win_amd64.dll' Consider using the--user option or check the permissions.Xin hãy giúp tôi ra ngoài. Không phải là một nhà khoa học máy tính hay một kỹ sư. Nhưng tôi viết mã cho vui.


15
Thêm --uservào pip3cài đặt lệnh.
Zain Patel

6
Tôi không hiểu tại sao bây giờ chúng ta phải sử dụng --user? Bởi vì điều đó được cho là cài đặt vào thư mục người dùng, có thể không phải là những gì bạn muốn. Install to the Python user install directory for your platform. Typically ~/.local/, or %APPDATA%\Python on Windows. (See the Python documentation for site.USER_BASE for full details.)
not2qubit

2
Tôi thực sự không muốn cài đặt vào thư mục người dùng và chạy CMD với tư cách Quản trị viên cho tôi những lỗi tương tự.
Michael Szczepaniak

Câu trả lời:


81

Chỉ cần nhập lệnh bạn muốn thực thi với quyền của người dùng, nếu bạn không muốn thay đổi quyền:

pip3 install --upgrade tensorflow-gpu --user

4
@Dylan Cooper vui lòng chấp nhận câu trả lời này để người ta không phải tìm câu trả lời trong nhiều năm
PolarBear10

34

chạy cùng một lệnh bằng cách sử dụng '--user'


Thông báo lỗi đề xuất điều này "Hãy xem xét sử dụng --usertùy chọn hoặc kiểm tra các quyền". Tôi đã thêm - người dùng và nó đã được giải quyết
thanos.a

Vì vậy, không có sự khác biệt cho dù bạn sử dụng lệnh mà không có hoặc với '--user'? bởi vì đó là những gì bạn dường như giả định ...
phút

Có, có một sự khác biệt: Gói này sẽ được cài đặt trong% userprofile%.
agcala

17

Tôi thấy rằng nếu tôi chạy CMD với tư cách Quản trị viên và chạy lệnh, tôi có thể cài đặt nó mà không gặp sự cố. Hãy thử nó và cho tôi một số phản hồi.


Điều này và khởi động lại sau khi cài đặt Python đã làm việc cho tôi.
Ryan_S

Điều này đã làm việc cho tôi. Kỳ lạ là ngay cả Windows Terminal với tư cách Quản trị viên cũng không hoạt động.
howdoicode

Làm việc cho tôi. Điều thú vị là chỉ mở CMD khi quản trị viên hoạt động, trong khi mở Git Bash với tư cách quản trị viên thì không.
Shlomi A

Thật vậy, điều này hoạt động, kỳ lạ thay Windows PowerShell khi quản trị viên hiển thị thông báo bị từ chối truy cập và nói rằng cài đặt không thành công, nhưng nó thực sự cũng làm được việc
Joris

12

chỉ cần thay đổi quyền truy cập, nơi gói cụ thể sẽ được cài đặt.

Trong trường hợp của tôi, windows10 :

  • goto "C: \ Program Files (x86) \ Python37"
  • nhấp chuột phải vào thư mục Python37 và nhấp vào thuộc tính
  • goto tab Bảo mật và cho phép toàn quyền kiểm soát bằng cách nhấp vào nút chỉnh sửa.
  • mở lại cmd terminal mới và thử cài đặt lại gói.


9

Tôi đang nâng cấp tensorflow lên 1.4.0 và đang đập đầu vào tường vì lỗi này không giải quyết được, nhưng cuối cùng đã giải quyết được nó. Đoán xem?

Một trong những tập lệnh python của tôi đang chạy và nó đang sử dụng tensorflow 😂😂. Gói được cài đặt thành công sau khi đóng nó. 👍


1
Cùng một vấn đề ở đây.
Florin Marcus

Tôi đoán tôi đã có cùng một vấn đề. Mặc dù tôi đã giết tất cả các phiên bản python thông qua trình quản lý tác vụ, tôi vẫn có thể cài đặt nó sau khi khởi động lại máy tính của mình.
mKay

7

Đối với tôi (trong windows), tôi phải khởi động lại thiết bị đầu cuối và chạy nó với tư cách Quản trị viên (nếu bạn đang sử dụng thiết bị đầu cuối pycharm, chỉ cần đóng pycharm và mở lại với tư cách quản trị viên rồi thử lại), điều đó đã giải quyết được sự cố và cài đặt thành công.

Chúc may mắn


3

Để cài đặt tensorflow sử dụng lệnh này bao gồm --User.

pip install --ignore-installed --upgrade --user tensorflow==2.0.1

Đây 2.0.1 là phiên bản của tensorflow.


2

TYPE CMD trong tìm kiếm và khi dấu nhắc lệnh xuất hiện trong kết quả tìm kiếm BEST MATCH, hãy nhấp chuột phải vào nó và chọn 'Chạy với tư cách Quản trị viên' khi cửa sổ điều khiển người dùng xuất hiện, hãy chọn 'Có'. Cửa sổ nhắc lệnh sẽ xuất hiện và bạn sẽ thấy "C: / WINDOWS / system32>"

tại thời điểm này chỉ cần nhập những gì bạn muốn, sẽ hoạt động!


2

Nâng cấp pip trong windows với -

python -m pip cài đặt - nâng cấp pip

và sau đó chạy cài đặt pip với - tùy chọn người dùng -

pip install - user package_name

đã giải quyết vấn đề của tôi.


2

Khi tất cả các phương pháp được đề cập không thành công, tôi có thể cài đặt scikit-learnbằng cách làm theo hướng dẫn từ trang web chính thức https://scikit-learn.org/stable/install.html .

Lỗi do giới hạn độ dài đường dẫn tệp trên Windows

Có thể xảy ra trường hợp pip không cài đặt được các gói khi đạt đến giới hạn kích thước đường dẫn mặc định của Windows nếu Python được cài đặt ở một vị trí lồng nhau, chẳng hạn như cấu trúc thư mục AppData trong thư mục chính của người dùng, chẳng hạn:

Collecting scikit-learn
...
Installing collected packages: scikit-learn
ERROR: Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: 'C:\\Users\\username\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python37\\site-packages\\sklearn\\datasets\\tests\\data\\openml\\292\\api-v1-json-data-list-data_name-australian-limit-2-data_version-1-status-deactivated.json.gz'

Trong trường hợp này, có thể nâng giới hạn đó trong sổ đăng ký Windows bằng cách sử dụng công cụ regedit:

Gõ “regedit” vào menu bắt đầu của Windows để khởi chạy regedit.

Đi tới Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystemphím.

Chỉnh sửa giá trị thuộc LongPathsEnabledtính của khóa đó và đặt thành 1.

Cài đặt lại scikit-learning (bỏ qua cài đặt bị hỏng trước đó):

pip install --exists-action=i scikit-learn


2

Điều này sẽ hoạt động

pip install --user requests

1
Tại sao điều này sẽ hoạt động. Cung cấp thêm giải thích về câu trả lời của bạn.
DevMike01

2

Vì nó được đề cập trong lỗi không có --user nên bạn phải làm theo các bước sau

  1. Mở cmd hoặc anaconda Navigator
  2. Mở thư mục cài đặt python của bạn (Đối với trình điều hướng anaconda, bạn đã chỉ định đường dẫn như C: / cd Anaconda
  3. Sau đó cuối cùng là cài đặt python -m pip --user somepackagename

1

Ôi trời. Có rất nhiều câu trả lời không tốt ở đây. Cũng có nghĩa nhưng gây hiểu lầm. Tôi thường ổn khi xử lý các quyền trên Mac / Linux. Windows là mới đối với tôi những ngày này. Đây là vấn đề tôi đã có.

  1. Tạo virtualenv - ok
  2. activateVirtualenv của tôi - không thành công. Cần Phạm vi để chạy powershell. Windows rất hữu ích và cho bạn biết chính xác lệnh bạn cần chạy để cho phép .ps chạy. Kiểu như chmodnhưng với cách thực thi scopemà tôi nghĩ là tốt.
  3. Bây giờ nếu bạn đã vượt qua những điều trên và cài đặt một vài gói thì không sao cả. Cho đến khi bạn đột nhiên không thể. Sau đó, bạn nhận được lỗi quyền này.
  4. Một cái gì đó bạn hoặc một quy trình khác đã đặt quyền trên thư mục nơi pip cài đặt các gói. tức là ...site-packages/Trong trường hợp của tôi, tôi nghi ngờ đó là OneDrive hoặc một số quyền thừa kế.

Cách lý tưởng về phía trước là kiểm tra quyền. Điều này thật khó nhưng bạn là một nhà phát triển Python thì không! Đầu tiên hãy kiểm tra người dùng của chính bạn.

  1. whoami ví dụ: mycomputer \ vangel
  2. Get-Acl <path which is an issue>
  3. trên thư mục cài đặt Python hoặc nhấp chuột phải virtualenv của bạn và chuyển đến Tab Bảo mật. Nhấp vào nâng cao và xem xét quyền. Tôi đã xóa tất cả các quyền được thừa kế và những người dùng khác, v.v. và thêm vào whoamingười dùng của tôi các quyền đầy đủ. sau đó áp dụng cho mọi đối tượng.

Đừng làm những điều này mà không xác minh các bước dưới đây. Đọc kỹ tin nhắn.

Không có nghĩa nó là giải pháp cho tất cả các vấn đề về quyền có thể ảnh hưởng đến bạn. Tôi chỉ có thể cung cấp hướng dẫn về cách khắc phục sự cố và hy vọng bạn sẽ giải quyết được.

việc đặt --usercờ là không cần thiết ở bất kỳ đâu, nếu nó hoạt động tốt cho bạn. Nhưng bạn vẫn không biết điều gì đã xảy ra.

Các bước khác: Thử gỡ bỏ một gói và cài đặt nó. pip uninstall requests pip install requests Điều này hoạt động, nhưng tôi gặp sự cố về quyền đối với một gói cụ thể.

Hóa ra, Windows đưa ra lỗi quyền khi tệp bị khóa bởi một quy trình. Python báo cáo nó là [Winerror 5]và tôi không thể dễ dàng tìm thấy tài liệu tham khảo đó. hãy kiểm tra lý thuyết này.

Tôi tìm thấy tệp chính xác bị lỗi quyền. Nhấn xóa. Chắc chắn đủ Windows windownhắc rằng nó mở trong pythonTất nhiên là như vậy.

Tôi nhấn end taskvào tất cả python Nó đã hoạt động từ năm 1996. Nhưng tôi đã đợi vài giây đề phòng một số quy trình đang khởi chạy python. Đã kiểm tra Task managertất cả tốt.

Đã thất bại 20 lần trong việc nhận pip để cài đặt gói azureml cụ thể, tôi cảm thấy khá chắc chắn rằng điều này đã giải quyết được nó.

Tôi đã chạy cài đặt pip của mình và nó được cài đặt hoàn toàn tốt.

Đạo đức của câu chuyện: Hiểu những gì bạn đang làm trước khi sao chép dán từ Stackoverflow. Tất cả những gì tốt nhất.

ps Vui lòng ngừng cài đặt Python hoặc các gói của nó với tư cách quản trị viên. Chúng tôi đã quá khứ kể từ năm 2006


1

Tôi đã giải quyết vấn đề này bằng cách mở lại cmd ở chế độ quản trị, kích hoạt env ảo và cài đặt lại.

Điều này xảy ra với Tensorflow 2.3.0 trong môi trường ảo.


đây không phải là câu trả lời cũng như giải pháp cho vấn đề.
Juliano Costa

0

Trong trường hợp của tôi, tôi đã tắt McAfee và sau đó cài đặt thành công tensorflow2.0 RC


0

Sử dụng một dấu nhắc lệnh nâng cao làm việc kỳ diệu. Tất cả những gì bạn phải làm là chạy

pip install <package-name>

Với một đặc quyền quản trị.


0

Đây là cách tôi giải quyết vấn đề này.

hạ cấp xuống python 3.6.x 64bit. Tôi đã cài đặt 3.6.8 64bit.

cài đặt virtualenv bằng pip cài đặt virtualenv

nâng cấp pip lên phiên bản mới nhất, đối với tôi là 19.3

đi tới thư mục bạn muốn tạo môi trường ảo và nhập virtualenv ENV sau khi tạo môi trường ảo, chuyển đến thư mục con \ PATH \ ENV \ Scriptthực hiện kích hoạt.bat. Bây giờ bạn sẽ ở trong môi trường ảo.

pip install rasa Vấn đề là tensorflow 15 yêu cầu python 64 bit với không quá 3,6


0

Tôi đã gặp sự cố tương tự khi cố gắng cài đặt tensorflow từ sổ ghi chép jupyter bằng Anaconda. - người dùng không hoạt động.

conda install tensorflow đã làm việc cho tôi và tôi không phải thay đổi bất kỳ cài đặt bảo mật nào.


0

Hãy thử điều này nếu không có gì hoạt động nếu không có lỗi quyền, điều này sẽ giải quyết nó.

sudo chown user -R env

làm ví dụ cho trường hợp của tôi

sudo chown ubuntu -R venv




0

Tôi cần cài đặt từ tệp yêu cầu và gặp lỗi này, nhưng không muốn sử dụng --usertùy chọn vì tôi không muốn cài đặt nó ở vị trí được mô tả bởi @ not2qubit . Vì vậy, tôi đã chạy CMD với tư cách quản trị viên và sau đó bật chia sẻ thư mục sau ( nhấp chuột phải> thuộc tính> Chia sẻ> Chia sẻ ... ):

C:\Users\<my user name>\AppData\Local\Temp

Sau khi thực hiện việc này, tôi đã có thể cài đặt từ tệp yêu cầu của mình vào thư mục ứng dụng (nơi tôi muốn) thay vì tệp điên ..\AppDatamà không gặp lỗi.


0

Tôi đã gặp vấn đề tương tự khi thêm Flask. Vì vậy, đã sử dụng một trong các lệnh trên.

pip install --ignore-install - nâng cấp - bình người dùng

Chỉ có một cảnh báo nhỏ và nó đã hoạt động !!

Cài đặt các gói đã thu thập: click, MarkupSafe, Jinja2, itsdangerous, Werkzeug, flask CẢNH BÁO: Tập lệnh flask.exe được cài đặt trong 'C: \ Users \ Admin \ AppData \ Roaming \ Python \ Python38 \ Scripts' không có trên PATH. Xem xét thêm thư mục này vào PATH hoặc nếu bạn muốn loại bỏ cảnh báo này, hãy sử dụng --no-warning-script-location. Đã cài đặt thành công Jinja2-2.11.2 MarkupSafe-1.1.1 Werkzeug-1.0.1 click-7.1.2 flask-1.1.2 itdangerous-1.1.0 CẢNH BÁO: Bạn đang sử dụng phiên bản pip 20.1.1; tuy nhiên, phiên bản 20.2 có sẵn. Bạn nên xem xét nâng cấp thông qua lệnh 'c: \ python38 \ python.exe -m pip install --upgrade pip'.


0

hãy thử điều này trong windows:

pip install -U <Package_Name>


-1

Điều này sẽ hoạt động.

pip install --user <package_name>
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.