Hướng dẫn kali convert python2 to python3 - kali chuyển đổi python2 thành python3

Về quá trình chuyển đổi

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 được đóng gói bởi Kali đang sử dụng Python 2 đều bị bỏ hoặc chuyển đổi để 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 với /usr/bin/python3 của họ.

Liên quan đến các gói đến trực tiếp từ Debian, chúng đã làm tương tự trên hầu hết các gói, nhưng có một vài ngoại lệ trong đó các gói được phép tiếp tục dựa vào Python 2. Tuy nhiên Shebang và để họ phụ thuộc vào gói nhị phân python2 (thay vì python trước đây).

Nhờ những thay đổi đó, Debian không còn cần cung cấp /usr/bin/python và các nâng cấp gần đây sẽ loại bỏ hiệu quả sự liên kết đó.

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ó ____99 dưới dạng shebang của nó. Nếu bạn cố gắng thực thi nó mà không cần sửa dòng Shebang, bạn sẽ có 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 Symlink /usr/bin/python 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:
    ┃ ⇒ https://www.kali.org/docs/general-use/python3-transition/
    ┃
    ┗━(Run “touch ~/.hushlogin” to hide this message)
    
    2 Nếu bạn muốn có nó chỉ vào python2
  • ┏━(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:
    ┃ ⇒ https://www.kali.org/docs/general-use/python3-transition/
    ┃
    ┗━(Run “touch ~/.hushlogin” to hide this message)
    
    4 Nếu bạn muốn có nó chỉ vào
    ┏━(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:
    ┃ ⇒ https://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 vận chuyển Python 2 theo mặc định (miễn là Debian vẫn cung cấp nó) và ____99 sẽ chỉ ra nó. Chúng tôi cũng đang giữ một vài 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:
┃ ⇒ https://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.

Howewer, 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:
┃ ⇒ https://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:
┃ ⇒ https://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 dưới đây để 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 có

[email protected]:~$ sudo apt remove python-is-python2
0 khuyến nghị python2,
┏━(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:
┃ ⇒ https://www.kali.org/docs/general-use/python3-transition/
┃
┗━(Run “touch ~/.hushlogin” to hide this message)
2 và
[email protected]:~$ sudo apt remove python-is-python2
3 để chúng được cài đặt theo mặc định trong khi có thể tháo rời bởi người dùng muốn loại bỏ chúng.

Để làm cho người dùng nhận thức được tình huống này, chúng tôi đang 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:
┃ ⇒ https://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 làm thế nào để 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 một kịch bản 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 một tập lệnh và nó bắt đầu bằng

[email protected]:~$ sudo apt remove python-is-python2
4 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à /usr/bin/python, bạn nên đọc tài liệu để xem liệu tập lệnh có thể chạy với Python 3. Nếu có, thì bạn nên cập nhật dòng Shebang để trỏ đến /usr/bin/python3. Nếu không, bạn nên cập nhật nó để trỏ đến /usr/bin/python2.

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

  • [email protected]:~$ sudo apt remove python-is-python2
    
    8
  • [email protected]:~$ sudo apt remove python-is-python2
    
    9
  • [email protected]:~$ sudo apt install -y python-is-python3
    
    0
  • [email protected]:~$ sudo apt install -y python-is-python3
    
    1

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

  • [email protected]:~$ sudo apt install -y python-is-python3
    
    2
  • [email protected]:~$ sudo apt install -y python-is-python3
    
    3

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à /usr/bin/python điểm vào Python không dùng nữa 2. 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 các kịch bản cũ Shebang, bạn có thể loại bỏ /usr/bin/python:

[email protected]:~$ sudo apt remove python-is-python2

Hoặc bạn có thể quyết định làm cho nó chỉ vào Python 3:

[email protected]:~$ sudo apt install -y python-is-python3

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

Ngoài ra, nếu bạn muốn giữ /usr/bin/python trỏ đến python2 và bạn vẫn muốn vô hiệu hóa tin nhắn, bạn có thể làm điều này:

[email protected]:~$ mkdir -p ~/.local/share/kali-motd
[email protected]:~$ touch ~/.local/share/kali-motd/disable-old-python-warning

Tôi có một kịch bản 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ố những mô -đun mà chúng tôi gửi trong gói tương thích

[email protected]:~$ sudo apt remove python-is-python2
3 (xem danh sách tại đây), thì bạn có thể thử
[email protected]:~$ sudo apt install -y python-is-python3
9 để thiết lập môi trường Python 2 bị cô lập hoàn toàn nơi bạn có thể sử dụng PIP để cài đặt các mô -đun bổ sung. Xem chúng tôi bằng cách sử dụng các phiên bản EOL Python trên bài viết của Kali.

Tôi muốn Pip cho Python 2, làm thế nào tôi có thể lấy lại được?

Hãy thử

[email protected]:~$ sudo apt install -y python-is-python3
9. Xem chúng tôi bằng cách sử dụng các phiên bản EOL Python trên bài viết của Kali.

Tôi đã viết một kịch bản Python, tôi nên làm gì?

Tốt với người dùng cuối:

  • Tài liệu rõ ràng liệu mã của bạn có chạy với Python 3 hay Python 2
  • Sử dụng /usr/bin/python3 hoặc /usr/bin/python2 làm dòng Shebang, nó có thể biểu cảm hơn /usr/bin/python và có nhiều khả năng có kết quả mong muốn
  • Cập nhật nó cho khả năng tương thích của Python 3 nếu điều đó chưa xảy ra

Làm cách nào để chuyển đổi Python 2 thành Python 3 trong Kali?

Làm cách nào để chuyển sang Python 3 trong Linux ?..
Kiểm tra phiên bản hiện tại: $ python --Version ..
Nhận quyền gốc: $ sudo su ..
Đặt Python3 làm mặc định: $ cập nhật-Alternative-install/usr/bin/python python/usr/bin/python3 1 ..
Xong. (Kiểm tra bởi $ Python --Version).

Làm cách nào để sử dụng Python 3 thay vì Python2 trong Linux?

Bạn có thể thử các bản cập nhật công cụ dòng lệnh.Thay đổi đường dẫn/usr/bin/python3 thành phiên bản python mong muốn của bạn cho phù hợp.Python2 và Python3 không phải là lựa chọn thay thế.Không sử dụng các hợp đồng cập nhật cho mục đích này.command line tool update-alternatives . Change the path /usr/bin/python3 to your desired python version accordingly. python2 and python3 are not alternatives. Do not use update-alternatives for this purpose.

Làm cách nào để thay thế Python 2.7 bằng 3.7 trong Linux?

Nâng cấp Python 2.7 lên 3,6 và 3,7 trong Ubuntu..
Bước 1:- Cài đặt PPA.PPA này chứa các phiên bản Python gần đây được đóng gói cho Ubuntu.....
Bước 2:- Cập nhật Packes.Bây giờ, cập nhật các gói của bạn bằng cách chạy lệnh sau.....
Bước 3:- Nâng cấp Python 2. X lên Python 3. ....
Cài đặt PIP.Cài đặt PIP bằng cách chạy lệnh sau ..

Làm cách nào để sử dụng công cụ 2to3?

Chạy 2to3 rất đơn giản.Bạn cung cấp một tệp hoặc thư mục dưới dạng tham số và nó sẽ chuyển đổi tệp hoặc xem qua thư mục cho các tệp Python và chuyển đổi chúng.2to3 sẽ in ra tất cả các thay đổi cho đầu ra, nhưng trừ khi bạn bao gồm cờ -W, nó sẽ không viết các thay đổi cho các tệp.You give a file or directory as parameter and it will convert the file or look through the directory for Python files and convert them. 2to3 will print out all the changes to the output, but unless you include the -w flag it will not write the changes to the files.