Lỗi errno 13 quyền bị từ chối python venv
Xin chào,
Tôi đã cài đặt netbox mới trên centos 7 và khi tôi chạy các lệnh sau Show nguồn/opt/netbox/venv/bin/kích hoạt Tôi nhận được lỗi sau đây LỖI. Không thể cài đặt các gói do OSError. [Errno 13] Quyền bị từ chối. '/opt/netbox-2. 11. 3/venv/lib/python3. 6/site-gói/pyasn1' Có những câu chuyện mới trên trang chủ Khi làm việc với các dự án Python của bạn, bạn nên sử dụng môi trường ảo. Về cơ bản, môi trường ảo giống như có một thư mục cho dự án của bạn, nơi bạn có thể chỉ định phiên bản Python nào và phần phụ thuộc nào (thư viện khác) mà bạn muốn sử dụng cho dự án cụ thể đó Nếu bạn không sử dụng môi trường ảo thì bất cứ khi nào bạn cài đặt các phụ thuộc cho các dự án của mình, chúng sẽ được cài đặt vào thư mục chuẩn của hệ thống dành cho Python. Có tất cả các phụ thuộc cho tất cả các dự án của bạn được cài đặt trong cùng một thư mục không phải là cách tuyệt vời để quản lý mọi thứ Ví dụ: giả sử bạn có Dự án Python A dựa trên phiên bản 1. 0. 0 của một thư viện cụ thể. Sau đó, bạn có Dự án B thứ hai dựa trên phiên bản 2. 0. 0 của thư viện đó. Vì vậy, bạn nâng cấp thư viện lên phiên bản 2. 0. 0 để Dự án B hoạt động và khi làm như vậy, bạn có nguy cơ phá vỡ Dự án A Một ví dụ khác, giả sử bạn đang phát triển một dự án Python chỉ sử dụng một số phụ thuộc. Bạn muốn chia sẻ dự án của mình với người khác nên bạn tạo một yêu cầu. txt mà họ có thể sử dụng để dễ dàng cài đặt tất cả các phần phụ thuộc của dự án. Vì vậy, bạn sử dụng 2 để tạo tệp này, nhưng giờ đây pip bao gồm tất cả các thư viện nằm trong thư mục chuẩn đó cho tất cả các dự án của bạn. Vì vậy, việc sử dụng môi trường ảo giúp tách biệt và sắp xếp các dự án của bạnMột trong những công cụ phổ biến nhất để quản lý môi trường ảo cho Python là Virtualenv, công cụ này giúp bạn thiết lập môi trường Python biệt lập cho các dự án của mình. Cài đặt VirtualenvĐể cài đặt Virtualenv, trước tiên bạn cần đảm bảo rằng bạn đã cài đặt pip. pip là công cụ được đề xuất của Python để cài đặt các gói Python và gần như chắc chắn bạn sẽ sử dụng nó để cài đặt bất kỳ gói nào cho các dự án của mình. Bạn có thể cài đặt pip bằng cách nhập thông tin sau vào thiết bị đầu cuối của mình
Khi bạn đã cài đặt pip, bạn có thể bảo nó cài đặt Virtualenv bằng lệnh sau
Nếu bạn gặp bất kỳ lỗi nào khi cài đặt Virtualenv, bạn có thể tham khảo phần ở cuối bài viết này Tạo một virtualenvBây giờ bạn đã cài đặt Virtualenv, bạn có thể sử dụng nó để tạo môi trường ảo cho các dự án của mình Trăn 3Để tạo môi trường ảo sử dụng Python 3, hãy mở thiết bị đầu cuối của bạn và điều hướng đến thư mục nơi bạn muốn tạo môi trường mới, sau đó nhập thông tin sau vào dòng lệnh của bạn
Thay thế 3 trong lệnh trên bằng bất kỳ tên nào bạn muốn đặt cho môi trường mới của mình. Điều này bây giờ sẽ tạo một thư mục thư mục trông như thế này
Thư mục trên và tất cả nội dung của nó hiện là môi trường ảo mới sáng bóng của bạn. Thư mục 4 là nơi chứa mã dự án của bạn. Đây có thể là một. py hoặc thư mục chứa dự án toàn diện hơnMọi thư viện phụ thuộc mà bạn cài đặt bằng pip sẽ được đặt trong 5, điều này rất hữu ích nếu bạn biết trong trường hợp bạn cần kiểm tra mã nguồn của bất kỳ thư viện nào trong số chúng
Trăn 2Bạn nên thử và tránh sử dụng Python 2 kể từ bây giờ trừ khi thực sự cần thiết, vì Python 2 sẽ không còn được hỗ trợ tích cực từ ngày 1 tháng 1 năm 2020. Tuy nhiên, nếu bạn cần tạo một môi trường ảo sử dụng Python 2, bạn có thể sử dụng lệnh sau
Kích hoạt một virtualenvBên trong thư mục 4 của môi trường ảo của bạn là một shell script có tên là 8, để kích hoạt môi trường ảo, bạn chỉ cần chạy nó. Lệnh đầu tiên bên dưới điều hướng vào thư mục bin, lệnh thứ hai chạy tập lệnh kích hoạt
Bây giờ bạn sẽ thấy dấu nhắc thiết bị đầu cuối của mình thay đổi thành như thế này
Môi trường ảo của bạn hiện đang hoạt động và bây giờ bạn có thể tiến hành cài đặt bất kỳ phụ thuộc dự án nào bằng cách sử dụng lệnh 6Vô hiệu hóa một virtualenvĐể hủy kích hoạt môi trường ảo, bạn chỉ cần nhập 0 vào thiết bị đầu cuối của mình, từ bất kỳ thư mục nào, như thế này
Và đó là nó. Những điều trên sẽ giúp bạn giữ các dự án Python của mình ở trạng thái có tổ chức hơn. Nếu bạn có bất kỳ câu hỏi nào, vui lòng để lại trong phần bình luận Xử lý sự cốDưới đây là một số gợi ý cho các lỗi có thể xảy ra mà bạn có thể gặp phải
Lỗi trên có nghĩa là pip đã cố thêm virtualenv. pyc vào thư mục gói Python tiêu chuẩn của máy nhưng không có quyền thêm tệp mới vào thư mục đó. Để khắc phục điều này, bạn có thể thay đổi quyền của thư mục, sử dụng cờ --user để chỉ định người dùng có quyền hoặc cuối cùng thực hiện hành động với tư cách là người dùng root Giải pháp 1. Thay đổi quyền thư mục 1 trong trường hợp này, chúng tôi có thể thay đổi quyền đối với tệp bằng cách sử dụng lệnh sau trong thiết bị đầu cuối của bạn
Điều này sẽ làm cho thư mục đó và tất cả các thư mục trong đó có thể ghi được, nhờ cờ -R (đệ quy). Sau đó, bạn sẽ có thể chạy lại lệnh 2. Đây nên là hành động đầu tiên của bạn vì các giải pháp tiếp theo bắt đầu mở ra quyền cho các tập lệnh có quyền truy cập nhiều hơn vào hệ thống của bạnGiải pháp 2. Sử dụng cờ --user 0Giải pháp 3. Sử dụng lệnh sudo 1Điều này có thể yêu cầu bạn nhập mật khẩu của mình, sau đó nó sẽ cho phép quá trình cài đặt diễn ra thành công |