pip / python: gói trang web bình thường không thể ghi


11

Tôi có một Macbook mới - một người dùng đã cài đặt nó và sau đó tôi đã cài đặt một người dùng mới (của tôi), cấp quyền quản trị viên và xóa cái cũ. Tôi đang dùng OS Catalina.

Kể từ khi cài đặt, tôi đã gặp một số vấn đề về quyền. VSCode không thể tìm thấy Jupyter Notebook, pipcài đặt các gói tại ~/Library/Python/3.7/site-packages.

Khi tôi làm which python3tôi nhận được usr/bin/python3. Khi tôi pip3 install <package>nhận được: Defaulting to user installation because normal site-packages is not writeableVà sau đó nó nói rằng nó đã được cài đặt, mặc dù tôi không thể truy cập nó khi tôi làm import <package>.

Có vẻ như đây là một vấn đề về quyền, pipkhông thể cài đặt vào con trăn "cơ sở" và chúng pythonkhông thể tìm thấy những gì tôi đã cài đặt ~/Library/Python/3.7/site-packages.

Tôi đã thử cài đặt lại hệ điều hành, nhưng vì tôi chưa thực hiện cài đặt sạch nên nó không thay đổi gì cả. Tôi đang thiếu gì? Làm thế nào chính xác tôi có thể sửa quyền? Tôi muốn các gói được cài đặt ở đâu ( venvchắc chắn, nhưng một số gói tôi muốn toàn cầu (như jupyter).

Cảm ơn


Tôi cũng đang gặp vấn đề này. Tôi tự hỏi liệu nó có liên quan đến sự kết thúc của hỗ trợ Python 2.7 không
Chris Dutrow

Tôi đang gặp vấn đề tương tự
Mahyar Maleki

1
Bạn có chắc chắn rằng bạn đang sử dụng đúng pip? Nếu bạn sử dụng an toàn hơn nhiều python -m pip install ....thì sao?
Tom de Geus

@TomdeGeus: Vâng, python3 -m pip install ...trong trường hợp này, nhưng đúng vậy, khi có nhiều phiên bản Python tham gia, sẽ an toàn hơn nhiều khi gọi pipqua phương pháp "mô-đun exec", vì vậy bạn biết bạn đang sử dụng chương trình thực thi Python dự kiến.
ShadowRanger

Để khắc phục điều này, tôi đã gỡ cài đặt python3 (trước đây đã cài đặt với brew) và sử dụng pyenv để cài đặt python3. Bây giờ tất cả đều hoạt động. Thực hiện theo hướng dẫn này: opensource.com/article/19/5/python-3-default-mac (bỏ qua phần cuối cùng)
Arseny Levin

Câu trả lời:


2

Tốt nhất là không sử dụng Python do hệ thống cung cấp trực tiếp. Để nó một mình vì HĐH có thể thay đổi nó theo những cách không mong muốn, như bạn đã trải nghiệm.

Cách thực hành tốt nhất là định cấu hình (các) phiên bản Python của riêng bạn và quản lý chúng trên cơ sở từng dự án bằng cách sử dụng virtualenv(đối với Python 2) hoặc venv(đối với Python 3). Điều này giúp loại bỏ tất cả sự phụ thuộc vào phiên bản Python do hệ thống cung cấp và cũng cách ly từng dự án với các dự án khác trên máy.

Mỗi dự án có thể có một phiên bản điểm Python khác nhau nếu cần và có site_packagesthư mục riêng để các thư viện được cài đặt pip cũng có thể có các phiên bản khác nhau theo dự án. Cách tiếp cận này là một người tránh vấn đề lớn.


0

Có vấn đề tương tự trên bản cài đặt Debian 9.12 mới. Khởi động lại máy chủ của tôi đã giải quyết vấn đề.

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.