Điểm:18

Phiên bản Python nào có thể được gỡ bỏ an toàn khỏi Ubuntu 20.04?

lá cờ us

Tôi có các phiên bản Python sau trên máy tính xách tay chạy Ubuntu 20.04:

trăn2
trăn3.10
trăn3.9
python3-thanh trùng
trăn2.7
trăn3.8
python3-config
python-argcomplete-check-dễ cài đặt-script
trăn3
python3.8-config
python3-tương lai
python-argcomplete-tcsh

Tôi biết rằng Ubuntu dựa vào một số trong số đó, tôi có thể gỡ bỏ cái nào một cách an toàn?


CHỈNH SỬA: Như đã hỏi trong các ý kiến, đây là đầu ra của ls -l /usr/bin/python[23]* /usr/local/bin/python[23]* :

ls: không thể truy cập '/usr/local/bin/python[23]*': Không có tệp hoặc thư mục như vậy
lrwxrwxrwx 1 gốc gốc 9 ngày 13 tháng 3 năm 2020 /usr/bin/python2 -> python2.7
-rwxr-xr-x 1 gốc gốc 3674216 Ngày 8 tháng 3 năm 2021 /usr/bin/python2.7
lrwxrwxrwx 1 gốc gốc 9 ngày 12 tháng 3 năm 2021 /usr/bin/python3 -> python3.8
-rwxr-xr-x 1 gốc gốc 5454136 ngày 5 tháng 10 00:09 /usr/bin/python3.10
-rwxr-xr-x 1 gốc gốc 5490488 ngày 28 tháng 9 18:10 /usr/bin/python3.8
lrwxrwxrwx 1 gốc gốc 33 ngày 28 tháng 9 18:10 /usr/bin/python3.8-config -> x86_64-linux-gnu-python3.8-config
-rwxr-xr-x 1 gốc gốc 5405872 ngày 10 tháng 9 01:20 /usr/bin/python3.9
lrwxrwxrwx 1 gốc gốc 16 ngày 13 tháng 3 năm 2020 /usr/bin/python3-config -> python3.8-config
-rwxr-xr-x 1 gốc gốc 384 ngày 28 tháng 3 năm 2020 /usr/bin/python3-futurize
-rwxr-xr-x 1 gốc gốc 388 ngày 28 tháng 3 năm 2020 /usr/bin/python3-pasteurize
lá cờ cn
Tôi có thể đảm bảo rằng bạn sẽ cần 2 kết nối với python2 và python3 (đó là các liên kết tượng trưng). Tất cả những người khác là do bạn quyết định. "an toàn" là tương đối... nó sẽ xóa tất cả các ứng dụng được kết nối nếu bạn xóa 3.10. Không phải là vấn đề với tôi nhưng bạn có thể không đồng ý ;-)
lá cờ us
Vì vậy, có thể xóa python3.8 và python3.9 mà không làm hỏng cài đặt Ubuntu của tôi, phải không?
lá cờ us
Cảm ơn bạn, tôi đã chỉnh sửa bài đăng của mình. Hy vọng nó tốt hơn bây giờ
muru avatar
lá cờ us
Vâng, điều đó tốt hơn nhiều. Vui lòng thêm đầu ra của `ls -l /usr/bin/python[23]* /usr/local/bin/python[23]*`.
lá cờ us
Ok, xin vui lòng xem chỉnh sửa của tôi
lá cờ us
Phiên bản python mặc định trong Ubuntu 20.04 là 3.8, không xóa phiên bản đó. Làm cách nào mà bạn cài đặt được nhiều phiên bản python như vậy?
lá cờ cn
@JorisLimonier không. xem các liên kết tượng trưng. 2.7 và 3.8 là cần thiết cho chính hệ thống.
Artur Meinild avatar
lá cờ vn
@Rinzwind hệ thống không phụ thuộc vào python2, nó được OP cài đặt (trực tiếp hoặc phụ thuộc). ;-)
Mark avatar
lá cờ ke
Bạn thực sự chỉ có bốn phiên bản Python: 2.7, 3.8, 3.9 và 3.10. Mọi thứ khác không phải là Python hoặc là từ đồng nghĩa với một trong bốn thứ đó.
lá cờ us
@ArturMeinild, làm thế nào bạn suy luận được điều đó?
Artur Meinild avatar
lá cờ vn
@JorisLimonier Python2 không được cài đặt vào ngày 20.04 theo mặc định, do đó, nên xóa an toàn vì nó được người dùng cài đặt.
Điểm:15
lá cờ cn

2 cái này quan trọng:

lrwxrwxrwx 1 gốc gốc 9 ngày 13 tháng 3 năm 2020 /usr/bin/python2 -> python2.7
lrwxrwxrwx 1 gốc gốc 9 ngày 12 tháng 3 năm 2021 /usr/bin/python3 -> python3.8

Mọi thứ bắt đầu với python2 đều mong đợi python 2.7 ở đó. Và điều tương tự cũng xảy ra với python3: nó mong đợi python3.8. Để đảm bảo an toàn: hãy giữ luôn python2.7; nó có thể không cần thiết nhưng loại bỏ nó có thể phá vỡ hệ thống.

Tất cả những phiên bản khác đều được thêm thủ công. Xóa những thứ đó sẽ giúp hệ thống hoạt động nhưng nó sẽ xóa tất cả phần mềm liên quan đến nó. Vì vậy, hãy kiểm tra các gói khi bạn làm thanh lọc apt hoặc apt loại bỏ. Nếu bạn cũng định xóa 2.7, hãy chú ý nhiều hơn đến những gì hệ thống sẽ xóa cùng với nó.

Artur Meinild avatar
lá cờ vn
Tôi đã từng cài đặt Midnight Commander vào ngày 20.04 của mình và nó đã cài đặt Python 2.7 làm phần phụ thuộc. Tuy nhiên, cả MC và Python 2 đều có thể được xóa lại mà không gặp sự cố nào,
lá cờ cn
Hmmm mà sẽ làm điều đó thực sự. Chỉ cần xem xét các đề xuất mà nó hiển thị khi xóa/xóa. Hầu hết mọi người chỉ cần gõ Y mà không nhìn (tôi cũng vậy :-))
wjandrea avatar
lá cờ cn
Cần làm rõ rằng `/usr/bin/python2.7` và `/usr/bin/python3.8` là mục tiêu của các liên kết tượng trưng này. Người mới có thể không nhận ra rằng `-> python2.7` có nghĩa là một liên kết tượng trưng tương đối.
Điểm:14
lá cờ vn

Phiên bản Python mặc định trong Ubuntu 20.04 là Python 3.8. Tất cả các phiên bản khác là thứ bạn tự cài đặt (hoặc phụ thuộc vào thứ bạn đã cài đặt).

Vì vậy, hệ thống sẽ chỉ phụ thuộc vào 3.8, nhưng các ứng dụng hoặc dự án khác mà bạn có có thể phụ thuộc vào các phiên bản khác (bao gồm cả Python 2/2.7).

Điểm:14
lá cờ cn

Bạn cũng có thể chạy apt rdepends --đã cài đặt python3.9 để tìm hiểu những gói phụ thuộc vào trăn3.9.

Ví dụ đầu ra của apt rdepends --đã cài đặt python3.8 vì đây là phiên bản được cài đặt trên máy của tôi:

trăn3.8
Phụ thuộc ngược lại:
  python3.8-tối thiểu
  python3.8-tối thiểu
  python3-uno
  nhịp điệu-plugin
  python3.8-tối thiểu
  trăn3
  python3-uno
  plugin xviewer
wjandrea avatar
lá cờ cn
Rõ ràng, `python3` là cái quan trọng ở đó. Nếu bạn chạy `apt rdepends --installed python3`, bạn sẽ thấy một danh sách khổng lồ, ví dụ như `gnome-shell` và `ubuntu-minimal`.
Dion avatar
lá cờ cn
@wjandrea Không phải `python3` chỉ là một liên kết tượng trưng trỏ đến một phiên bản cụ thể, ví dụ:. `python3 -> python3.8` trong `ls -l` của OP? Vì vậy, về mặt lý thuyết, bạn có thể làm cho nó trỏ đến bất kỳ phiên bản `python3.x` nào mà bạn muốn. Tôi nói về mặt lý thuyết vì tôi không biết những thay đổi đột phá trong 3.8 so với 3.9 so với 3.10 là gì, nhưng tôi cho rằng có một số thay đổi.
wjandrea avatar
lá cờ cn
Nếu bạn thay đổi liên kết tượng trưng, ​​mọi thứ sẽ bị hỏng, chẳng hạn như [Thiết bị đầu cuối Gnome chẳng hạn](/q/880188/301745). IIRC, điều này là do các thư viện hệ thống như `_gi` được xây dựng cho một phiên bản cụ thể. Ngoài ra, có một vài thay đổi đột phá, vâng (tham khảo: [3.9](https://docs.python.org/3/whatsnew/3.9.html#porting-to-python-3-9), [3.10](https ://docs.python.org/3/whatsnew/3.10.html#porting-to-python-3-10)).
Dion avatar
lá cờ cn
Thú vị, cảm ơn vì thông tin!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.