Cài đặt gói Python với quyền đọc trên Arch-Linux


1

Tôi đã thử Arch Linux gần đây và vì tôi là một lập trình viên Python muốn cài đặt requestgói. Để làm như vậy tôi cần cài đặt piptrình quản lý gói Python bằng cách gọi

$ sudo easy_install pip 

Tiếp theo tôi đã cài đặt gói yêu cầu với

$ sudo pip3 install requests

Nếu bây giờ tôi khởi động Python và nhập gói yêu cầu thì nội dung gói bị thiếu hoàn toàn. Thông thường nên có một loạt các lớp và chức năng.

Python 3.5.1 (default, Mar  3 2016, 09:29:07)
[GCC 5.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> dir(requests)
['__doc__', '__loader__', '__name__', '__package__', '__path__', '__spec__']

Vì vậy, tôi đã xem /usr/lib/python3.5/site-packagesthư mục chứa các gói Python đã cài đặt và phát hiện ra rằng requeststhư mục đó không có quyền đọc cho mọi người.

$ ls /usr/lib/python3.5/site-packages
drwxr-x---  4 root root   4096 Mar  1 17:04 requests
drwxr-x---  2 root root   4096 Mar  1 17:04 requests-2.13.0.dist-info
drwxr-xr-x  5 root root   4096 Apr 14  2016 setuptools
drwxr-xr-x  2 root root   4096 Apr 11  2016 setuptools-20.7.0-py3.5.egg-info
drwxr-xr-x  2 root root   4096 Oct 11  2015 six-1.10.

Có cách nào để cài đặt các gói Python mới trong Arch với các đặc quyền phù hợp không? Tôi đã sử dụng Debian trước đây và đã trải qua quy trình tương tự để cài đặt gói Python và chưa bao giờ phát hiện ra vấn đề này.


Bạn có thể cài đặt nó với pacman: sudo pacman -S python-requestshoặc với pip3: Không nên pip3 install requestschạy pip với root. Nếu bạn chạy sudo python3ngay bây giờ, bạn sẽ có thể nhập các gói đã cài đặt với sudo pip3 install,
doriclazar

Có, sudo pacman -S python-requestshoạt động nhưng chỉ dành cho Python2. Tôi cũng đã thử pip3 installmà không có sudo nhưng ở đó tôi gặp lỗi.
MrLeeh

python2-request nên là gói cho python2. Có vẻ như python2 là một phụ thuộc vào arch, nhưng không phụ thuộc vào debian. Nếu đó là một tùy chọn, hãy xóa pip3 và cài đặt lại với: sudo pacman -S python-pipvà sau đó chạypip3 install requests
doriclazar

Tôi vừa thử cài đặt python-pip với sudo pacman -S python-pip. Tôi đã làm nó trên một máy ảo và xóa sạch nó trước khi tôi làm như vậy. Tuy nhiên, pip3 install requestskết quả hiện tại trong Distribution not foundLỗi : pkg_resources.DistributionNotFound: The 'pip==9.0.1' distribution was not found and is required by the application. Khi tôi sử dụng cũng vậy sudo pip3 install requests. Chuyện lạ.
MrLeeh

1
Tôi đã phải cập nhật các gói của tôi với pacman -Syyu. Ngoài ra, tôi cần phải thiết lập quyền viết thủ công cho người dùng của mình để /usr/lib/python3.6/site-packagescó thể cài đặt pip. Không nó hoạt động. Nhưng bây giờ mọi người dùng đều có thể sử dụng cài đặt pip :( Trên cài đặt Debian chỉ có thể được thực hiện bằng sudo nhưng mọi người dùng đều có thể sử dụng các gói. Vì vậy, tôi tự hỏi mình có gì khác biệt ở đây.
MrLeeh
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.