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 pip6 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 pip7 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 pip8 làm shebang và để chúng phụ thuộc vào gói nhị phân
$ command -v pip9 [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àyzsh: /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
2 nếu bạn muốn trỏ nó 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]
$ command -v pip
9
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┏━[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]
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ôngTuy 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 tinKhả 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 pip9,
┏━[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ệnhNế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 pip7. Nếu không, bạn nên cập nhật nó để trỏ đến
$ command -v pip8
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
0Hoặc bạn có thể quyết định chuyển nó sang Python 3
$ sudo dnf install python2
7Mộ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 pip9 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 pip3
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