Tại sao linux đi kèm với python?

Các phiên bản mới nhất của CentOS, Red Hat Enterprise Linux [RHEL] và Ubuntu đi kèm với Python 2. 7 ra khỏi hộp

Để xem phiên bản Python nào bạn đã cài đặt, hãy mở dấu nhắc lệnh và chạy

$ python2 --version

Tuy nhiên, với sự phổ biến ngày càng tăng của Python 3, một số bản phân phối, chẳng hạn như Fedora, không được cài đặt sẵn Python 2. Bạn có thể cài đặt gói

$ command -v pip
6 bằng trình quản lý gói phân phối của mình

$ sudo dnf install python2

Bạn không cần cài đặt hay cấu hình bất cứ thứ gì khác để sử dụng Python. Phải nói rằng, tôi thực sự khuyên bạn nên cài đặt các công cụ và thư viện được mô tả trong phần tiếp theo trước khi bạn bắt đầu xây dựng các ứng dụng Python để sử dụng trong thế giới thực. Đặc biệt, bạn phải luôn cài đặt Setuptools và pip, vì nó giúp bạn sử dụng các thư viện Python của bên thứ ba khác dễ dàng hơn nhiều

Công cụ thiết lập & Pip¶

Hai gói Python của bên thứ ba quan trọng nhất là setuptools và pip

Sau khi cài đặt, bạn có thể tải xuống, cài đặt và gỡ cài đặt bất kỳ sản phẩm phần mềm Python tuân thủ nào bằng một lệnh duy nhất. Nó cũng cho phép bạn thêm khả năng cài đặt mạng này vào phần mềm Python của riêng bạn với rất ít công việc

Trăn 2. 7. 9 trở lên [trên sê-ri python2] và Python 3. 4 trở lên bao gồm pip theo mặc định

Để xem pip đã được cài đặt chưa, hãy mở dấu nhắc lệnh và chạy

$ command -v pip

Để cài đặt pip, hãy làm theo hướng dẫn cài đặt pip chính thức - hướng dẫn này sẽ tự động cài đặt phiên bản mới nhất của setuptools

Môi trường ảo¶

Môi trường ảo là một công cụ để giữ các phần phụ thuộc theo yêu cầu của các dự án khác nhau ở những nơi riêng biệt, bằng cách tạo môi trường Python ảo cho chúng. Nó giải quyết “Dự án X phụ thuộc vào phiên bản 1. x nhưng Dự án Y cần 4. x” và giữ cho thư mục gói trang web toàn cầu của bạn sạch sẽ và dễ quản lý

Ví dụ: bạn có thể làm việc trên một dự án yêu cầu Django 1. 10 đồng thời duy trì một dự án yêu cầu Django 1. 8

Kali Linux hoàn toàn chuyển sang Python 3. Điều này có nghĩa là bất kỳ công cụ nào do Kali đóng gói đang sử dụng Python 2 đều đã bị loại bỏ hoặc chuyển đổi sang sử dụng Python 3. Bất kỳ công cụ nào được chuyển đổi thành Python 3 chỉ chứa các tập lệnh có

$ command -v pip
7 là shebang của chúng

Liên quan đến các gói đến trực tiếp từ Debian, chúng cũng làm như vậy trên hầu hết các gói, nhưng có một vài trường hợp ngoại lệ trong đó các gói được phép tiếp tục dựa vào Python 2. Tuy nhiên, các gói đó đã được cập nhật để tất cả các tập lệnh của chúng sử dụng

$ command -v pip
8 làm shebang và để chúng phụ thuộc vào gói nhị phân
$ command -v pip
9 [thay vì
zsh: /home/kali/test.py: bad interpreter: /usr/bin/python: no such file or directory
0 trước đây]

Nhờ những thay đổi đó, Debian không cần cung cấp

zsh: /home/kali/test.py: bad interpreter: /usr/bin/python: no such file or directory
1 nữa và các bản nâng cấp gần đây sẽ loại bỏ liên kết tượng trưng đó một cách hiệu quả

Thật không may, khi bạn tải xuống một tập lệnh Python trên web, nó có thể sẽ có

zsh: /home/kali/test.py: bad interpreter: /usr/bin/python: no such file or directory
1 làm shebang. Nếu bạn cố thực hiện nó mà không sửa dòng shebang, bạn sẽ gặp lỗi như thế này

zsh: /home/kali/test.py: bad interpreter: /usr/bin/python: no such file or directory

Trong Debian, bạn có thể khôi phục liên kết tượng trưng

zsh: /home/kali/test.py: bad interpreter: /usr/bin/python: no such file or directory
1 bằng cách cài đặt

  • ┏━[Message from Kali developers]
    ┃
    ┃ We have kept /usr/bin/python pointing to Python 2 for backwards
    ┃ compatibility. Learn how to change this and avoid this message:
    ┃ ⇒ //www.kali.org/docs/general-use/python3-transition/
    ┃
    ┗━[Run “touch ~/.hushlogin” to hide this message]
    
    2 nếu bạn muốn trỏ nó tới
    $ command -v pip
    
    9
  • ┏━[Message from Kali developers]
    ┃
    ┃ We have kept /usr/bin/python pointing to Python 2 for backwards
    ┃ compatibility. Learn how to change this and avoid this message:
    ┃ ⇒ //www.kali.org/docs/general-use/python3-transition/
    ┃
    ┗━[Run “touch ~/.hushlogin” to hide this message]
    
    4 nếu bạn muốn nó chỉ tới
    ┏━[Message from Kali developers]
    ┃
    ┃ We have kept /usr/bin/python pointing to Python 2 for backwards
    ┃ compatibility. Learn how to change this and avoid this message:
    ┃ ⇒ //www.kali.org/docs/general-use/python3-transition/
    ┃
    ┗━[Run “touch ~/.hushlogin” to hide this message]
    
    5

Giữ khả năng tương thích ngược trong Kali

Với số lượng lớn người dùng không biết cách tránh lỗi trên, chúng tôi quyết định rằng Kali sẽ tiếp tục gửi Python 2 theo mặc định [miễn là Debian vẫn cung cấp nó] và

zsh: /home/kali/test.py: bad interpreter: /usr/bin/python: no such file or directory
1 sẽ chỉ ra nó. Chúng tôi cũng đang giữ một số mô-đun bên ngoài phổ biến [như
┏━[Message from Kali developers]
┃
┃ We have kept /usr/bin/python pointing to Python 2 for backwards
┃ compatibility. Learn how to change this and avoid this message:
┃ ⇒ //www.kali.org/docs/general-use/python3-transition/
┃
┗━[Run “touch ~/.hushlogin” to hide this message]
7] để các tập lệnh khai thác ngẫu nhiên có cơ hội hợp lý để chạy thành công

Tuy nhiên, pip cho Python2 [còn gọi là python-pip] đã biến mất,

┏━[Message from Kali developers]
┃
┃ We have kept /usr/bin/python pointing to Python 2 for backwards
┃ compatibility. Learn how to change this and avoid this message:
┃ ⇒ //www.kali.org/docs/general-use/python3-transition/
┃
┗━[Run “touch ~/.hushlogin” to hide this message]
8 giống như
┏━[Message from Kali developers]
┃
┃ We have kept /usr/bin/python pointing to Python 2 for backwards
┃ compatibility. Learn how to change this and avoid this message:
┃ ⇒ //www.kali.org/docs/general-use/python3-transition/
┃
┗━[Run “touch ~/.hushlogin” to hide this message]
9 và nó sẽ cài đặt các mô-đun cho Python 3. Xem Câu hỏi thường gặp bên dưới để biết thêm thông tin

Khả năng tương thích này đã được thực hiện bằng cách yêu cầu

$ sudo dnf install python2
00 đề xuất
$ command -v pip
9,
┏━[Message from Kali developers]
┃
┃ We have kept /usr/bin/python pointing to Python 2 for backwards
┃ compatibility. Learn how to change this and avoid this message:
┃ ⇒ //www.kali.org/docs/general-use/python3-transition/
┃
┗━[Run “touch ~/.hushlogin” to hide this message]
2 và
$ sudo dnf install python2
03 để chúng được cài đặt theo mặc định trong khi có thể tháo rời bởi những người dùng muốn loại bỏ chúng

Để làm cho người dùng biết về tình huống này, chúng tôi sẽ hiển thị một thông báo hứa hẹn khi đăng nhập

┏━[Message from Kali developers]
┃
┃ We have kept /usr/bin/python pointing to Python 2 for backwards
┃ compatibility. Learn how to change this and avoid this message:
┃ ⇒ //www.kali.org/docs/general-use/python3-transition/
┃
┗━[Run “touch ~/.hushlogin” to hide this message]

Hy vọng là họ sẽ đọc bài viết này và biết cách giải quyết các vấn đề khác nhau mà họ sẽ gặp phải

Các câu hỏi thường gặp

Tôi đã tải xuống tập lệnh Python, tôi nên làm gì?

Bạn cần kiểm tra dòng shebang của nó. Dòng shebang là dòng đầu tiên của tập lệnh và nó bắt đầu bằng

$ sudo dnf install python2
04 theo sau là đường dẫn của trình thông dịch sẽ được sử dụng để thực thi tập lệnh

Nếu trình thông dịch là

zsh: /home/kali/test.py: bad interpreter: /usr/bin/python: no such file or directory
1, bạn nên đọc tài liệu để xem liệu tập lệnh có thể chạy với Python 3 hay không. Nếu có, thì bạn nên cập nhật dòng Shebang để trỏ đến
$ command -v pip
7. Nếu không, bạn nên cập nhật nó để trỏ đến
$ command -v pip
8

Các dòng shebang tốt có thể được giữ

  • $ sudo dnf install python2
    
    08
  • $ sudo dnf install python2
    
    09
  • $ sudo dnf install python2
    
    70
  • $ sudo dnf install python2
    
    71

Các dòng shebang xấu cần được cập nhật

  • $ sudo dnf install python2
    
    72
  • $ sudo dnf install python2
    
    73

Làm thế nào tôi có thể thoát khỏi thông báo đăng nhập?

Thông báo sẽ chỉ được hiển thị miễn là

zsh: /home/kali/test.py: bad interpreter: /usr/bin/python: no such file or directory
1 trỏ đến Python 2 không dùng nữa. Bây giờ bạn đã biết về tình huống này và bạn biết cách sửa dòng Shebang của các tập lệnh cũ, bạn có thể thoát khỏi
zsh: /home/kali/test.py: bad interpreter: /usr/bin/python: no such file or directory
1 một cách an toàn

$ sudo dnf install python2
0

Hoặc bạn có thể quyết định chuyển nó sang Python 3

$ sudo dnf install python2
7

Một trong những hành động đó sẽ loại bỏ thông báo đăng nhập

Ngoài ra, nếu bạn muốn giữ

zsh: /home/kali/test.py: bad interpreter: /usr/bin/python: no such file or directory
1 trỏ đến
$ command -v pip
9 và bạn vẫn muốn tắt thông báo, bạn có thể thực hiện việc này

$ command -v pip
3

Tôi có tập lệnh Python 2 không chạy, tôi nên làm gì?

Nếu tập lệnh Python 2 của bạn sử dụng các mô-đun không nằm trong số các mô-đun mà chúng tôi cung cấp trong gói tương thích

$ sudo dnf install python2
03 [xem danh sách tại đây], thì bạn có thể thử dùng
$ sudo dnf install python2
79 để thiết lập môi trường Python 2 hoàn toàn biệt lập, nơi bạn có thể sử dụng pip để cài đặt các mô-đun bổ sung. Xem bài viết Sử dụng phiên bản EoL Python trên Kali của chúng tôi

Tại sao Python được sử dụng với Linux?

python là ngôn ngữ kịch bản thay thế. Bash scripting hoặc các ngôn ngữ shell scripting khác đã được sử dụng trước python. Python được cài đặt sẵn trên hầu hết tất cả các bản phân phối linux vì nó rất linh hoạt và rất có thể nếu bạn sử dụng linux, bạn sẽ sử dụng nó cho một số hình thức phát triển thay vì chỉ sử dụng thông thường.

Linux có tự động đi kèm với Python không?

Python được cài đặt sẵn trên hầu hết các bản phân phối Linux và có sẵn dưới dạng gói trên tất cả các bản phân phối khác.

Linux nào đi kèm với Python?

Python được cài đặt sẵn trên hầu hết các bản phân phối Linux như Debian . Bạn có thể chỉ cần kiểm tra Phiên bản Python đã được cài đặt trên hệ thống của mình bằng cách chạy lệnh python -V hoặc python --version trên thiết bị đầu cuối của bạn.

Tại sao Ubuntu sử dụng Python?

Khả năng đọc của Python giúp mã có thể truy cập và bảo trì . Tình nguyện viên trong môi trường nguồn mở cần có khả năng đọc mã dễ dàng. Nó làm cho các tình nguyện viên trên đường dốc dễ dàng hơn. Nó làm cho các đóng góp và bản vá lỗi có nhiều khả năng hơn.

Chủ Đề