Tôi mới làm việc này hôm nay, có vẻ như tài liệu rõ ràng là khan hiếm cho những người muốn kiểm soát những gì đã cài đặt và ở đâu.
Giả sử bạn đã chạy cài đặt pip3 bất cứ điều gì, nó mặc định để đặt công cụ dưới ~ / .local, như bạn biết. Thông lệ của nó trong Unix để phân chia các loại tệp, đặt các loại "có thể chạy" dưới ~ / .local / bin.
Trong một thiết bị đầu cuối, nhập cái này để xem đường dẫn của bạn bây giờ:
$ echo $PATH
Kiểm tra xem bạn đã cài đặt công cụ python trong ~ / .local chưa
$ ls -la ~/.local/bin
Điều đó xác nhận các tập tin thực thi là có, hoặc làm cho tôi. Nếu các quyền của tệp hiển thị "x" thì chúng có thể được thực thi.
Bây giờ, thêm thư mục đó vào đường dẫn trong terminal
$ export PATH=~/.local/bin:$PATH
Kiểm tra đường dẫn của bạn một lần nữa để xem sự thay đổi. Xin nhớ rằng đó chỉ là cài đặt tạm thời cho phiên cuối đó. Nó không áp dụng cho các thiết bị đầu cuối khác cùng một lúc hoặc trong tương lai. Đó là một nơi tốt để kiểm tra mọi thứ.
Sau đó, mọi chương trình thực thi trong ~ / .local / bin sẽ chạy nếu bạn nhập tên của nó trong dòng lệnh. Không cần phải chạy "~ / .local / bin / jupyter", chẳng hạn. Chỉ cần gõ "jupyter". Không cần "./" mà đôi khi bạn thấy, đó là khi bạn khởi chạy một chương trình từ thư mục làm việc không có trong đường dẫn.
Nếu sau này bạn quyết định muốn làm cho nó vĩnh viễn, để ~ / .local / bin luôn ở trong PATH của bạn, bạn có thể làm điều đó bằng cách chỉnh sửa một số tệp cấu hình môi trường. Tùy thuộc vào thiết lập của bạn, ví dụ, trong tệp ".bashrc" trong thư mục nhà của tôi, dòng cuối cùng là "export PATH = $ PATH: $ HOME / bin". Vì vậy, tôi có thể đặt $ HOME / local / bin ở phía trước. Lưu ý tôi đã viết $ HOME, không phải "~" trong đó. Sau đó, mỗi khi tôi sử dụng vỏ BASH, PATH sẽ được sửa. Nếu bạn có thể sử dụng các shell khác, tôi nghĩ điều đúng đắn là thay đổi ~ / .profile. Tôi nghĩ rằng tất cả các shell trong Ubuntu sẽ cung cấp tệp đó.
Trong trường hợp của tôi, tôi đã cài đặt một số chương trình với pip3, chẳng hạn như jupyter. Một cách để đảm bảo nơi đã được cài đặt vào là chạy
$ pip3 list
hiển thị tất cả các gói có sẵn, không chỉ các gói được cài đặt bởi pip3.
$ pip3 show jupyter
Trong trường hợp của tôi, ví dụ:
---
Metadata-Version: 2.0
Name: jupyter
Version: 1.0.0
Summary: Jupyter metapackage. Install all the Jupyter components in one go.
Home-page: http://jupyter.org
Author: Jupyter Development Team
Author-email: jupyter@googlegroups.org
Installer: pip
License: BSD
Location: /home/pauljohn/.local/lib/python3.5/site-packages
Requires: nbconvert, ipykernel, ipywidgets, notebook, jupyter-console, qtconsole
Classifiers:
Intended Audience :: Developers
Intended Audience :: System Administrators
Intended Audience :: Science/Research
License :: OSI Approved :: BSD License
Programming Language :: Python
Programming Language :: Python :: 2
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Programming Language :: Python :: 3.3
Programming Language :: Python :: 3.4
Tôi không muốn điều này nghe giống như một ngọn lửa, nhưng nó có vẻ giống như một cuộc tấn công. Tôi cảnh báo bạn không nên háo hức làm theo lời khuyên mà một số người ở đây sẽ cung cấp, để chạy "sudo pip3 xxx". Nói chung, bạn chỉ muốn chạy cài đặt gốc chỉ với các gói Debian, không phải với pip3. Nếu bạn chạy mà không có sudo, bạn đang giới hạn sự nguy hiểm cho tài khoản người dùng. Nếu bạn gặp rắc rối trong khi chạy tập lệnh với quyền root, bạn có thể phân tán các tệp xung quanh đĩa cứng và hối tiếc. Đặc biệt nếu người khác đăng nhập và sử dụng máy tính đó, tránh làm bất cứ điều gì như root trừ khi bạn tự tin.
Cũng đáng lưu ý, rằng mặc định pip3 để cài đặt vào ~ / .local, nhưng điều đó là không cần thiết. Đọc "man pip3", tìm "-t" (--target). Bạn có thể chỉ định thư mục cài đặt. Tôi nghĩ điều đó thật tuyệt vì bạn có thể hạn chế mọi thiệt hại cho một thư mục khác và xóa nó bất cứ khi nào bạn muốn. ~ / .local có thể có những thứ có giá trị khác được cài đặt bởi các chương trình khác và bạn không muốn xóa sạch chúng. Tôi nghĩ rằng ~ / .local là nơi dành cho cài đặt nhiều hơn các chương trình.