Puncte:18

Ce versiuni Python pot fi eliminate în siguranță din Ubuntu 20.04?

drapel us

Am următoarele versiuni de Python pe laptopul meu care rulează Ubuntu 20.04:

python2
python3.10
python3.9
python3-pasteurizare
python2.7
python3.8
python3-config
python-argcomplete-check-easy-install-script
python3
python3.8-config
python3-futurize
python-argcomplete-tcsh

Știu că Ubuntu se bazează pe unele dintre acestea, pe care le pot elimina în siguranță?


EDITAȚI | ×: După cum a fost întrebat în comentarii, iată rezultatul ls -l /usr/bin/python[23]* /usr/local/bin/python[23]* :

ls: nu poate accesa „/usr/local/bin/python[23]*”: nu există un astfel de fișier sau director
lrwxrwxrwx 1 rădăcină rădăcină 9 martie 13 2020 /usr/bin/python2 -> python2.7
-rwxr-xr-x 1 rădăcină rădăcină 3674216 8 martie 2021 /usr/bin/python2.7
lrwxrwxrwx 1 rădăcină rădăcină 9 martie 12 2021 /usr/bin/python3 -> python3.8
-rwxr-xr-x 1 root root 5454136 Oct 5 00:09 /usr/bin/python3.10
-rwxr-xr-x 1 rădăcină rădăcină 5490488 28 septembrie 18:10 /usr/bin/python3.8
lrwxrwxrwx 1 root root 33 sep 28 18:10 /usr/bin/python3.8-config -> x86_64-linux-gnu-python3.8-config
-rwxr-xr-x 1 rădăcină rădăcină 5405872 10 septembrie 01:20 /usr/bin/python3.9
lrwxrwxrwx 1 root root 16 martie 13 2020 /usr/bin/python3-config -> python3.8-config
-rwxr-xr-x 1 rădăcină rădăcină 384 28 martie 2020 /usr/bin/python3-futurize
-rwxr-xr-x 1 rădăcină rădăcină 388 28 martie 2020 /usr/bin/python3-pasteurize
drapel cn
Pot garanta că veți avea nevoie de cele 2 conectate la python2 și python3 (acestea sunt link-uri simbolice). Toate celelalte sunt la dispoziție pentru tine. „sigur” este relativ... va elimina toate aplicațiile conectate dacă ștergeți 3.10. Nu este o problemă pentru mine, dar s-ar putea să nu fii de acord ;-)
drapel us
Deci, python3.8 și python3.9 pot fi eliminate fără a întrerupe instalarea Ubuntu, nu?
drapel us
Multumesc, mi-am editat postarea. Sper că este mai bine acum
muru avatar
drapel us
Da, e mult mai bine. De asemenea, adăugați rezultatul lui `ls -l /usr/bin/python[23]* /usr/local/bin/python[23]*`, vă rugăm.
drapel us
Ok, vezi editarea mea
drapel us
Versiunea implicită de python în Ubuntu 20.04 este 3.8, nu eliminați asta. Cum ai instalat atâtea versiuni de python?
drapel cn
@JorisLimonier nr. vezi linkurile simbolice. 2.7 și 3.8 sunt necesare sistemului însuși.
Artur Meinild avatar
drapel vn
@Rinzwind sistemul nu depinde de python2, a fost instalat de către OP (direct sau ca dependență). ;-)
Mark avatar
drapel ke
De fapt, aveți doar patru versiuni de Python: 2.7, 3.8, 3.9 și 3.10. Orice altceva fie nu este Python, fie este sinonim pentru unul dintre cele patru.
drapel us
@ArturMeinild, cum ai dedus asta?
Artur Meinild avatar
drapel vn
@JorisLimonier Python2 nu este instalat în 20.04 în mod implicit, prin urmare ar trebui să fie sigur să fie eliminat deoarece este instalat de utilizator.
Puncte:15
drapel cn

Acestea 2 sunt importante:

lrwxrwxrwx 1 rădăcină rădăcină 9 martie 13 2020 /usr/bin/python2 -> python2.7
lrwxrwxrwx 1 rădăcină rădăcină 9 martie 12 2021 /usr/bin/python3 -> python3.8

Orice a început cu python2 se așteaptă ca python 2.7 să fie acolo. Și același lucru este valabil și pentru python3: se așteaptă la python3.8. Pentru a fi în siguranță: păstrați și python2.7; s-ar putea să nu fie nevoie, dar îndepărtarea acestuia poate rupe sistemul.

Toate celelalte sunt versiuni adăugate manual. Eliminarea acestora va menține sistemul să funcționeze, dar va șterge toate software-urile legate de acesta. Așa că inspectați pachetele când o faceți epurare apt sau apt elimina. Dacă intenționați să ștergeți și 2.7, acordați o atenție sporită la ceea ce sistemul va șterge împreună cu acesta.

Artur Meinild avatar
drapel vn
Am instalat odată Midnight Commander pe 20.04 și a instalat Python 2.7 ca dependență. Cu toate acestea, atât MC, cât și Python 2 ar putea fi eliminate din nou fără nicio problemă,
drapel cn
Hmmm asta chiar ar face-o. E doar o chestiune de a privi sugestiile pe care le arată la curățare/eliminare. Majoritatea persoanelor introduc doar Y fără să se uite (la fel și eu :-))
wjandrea avatar
drapel cn
Ar ajuta să clarificăm că `/usr/bin/python2.7` și `/usr/bin/python3.8` sunt ținta acestor legături simbolice. Începătorii ar putea să nu realizeze că `-> python2.7` înseamnă o legătură simbolică relativă.
Puncte:14
drapel vn

Versiunea implicită Python în Ubuntu 20.04 este Python 3.8. Toate celelalte versiuni sunt ceva ce ai instalat singur (sau o dependență de ceva ce ai instalat).

Deci sistemul va depinde doar de 3.8, dar alte aplicații sau proiecte pe care le aveți pot depinde de celelalte versiuni (inclusiv Python 2/2.7).

Puncte:14
drapel cn

De asemenea, puteți alerga apt rdepends --instalat python3.9 pentru a afla de ce pachete depind python3.9.

Exemplu de ieșire a apt rdepends --instalat python3.8 deoarece aceasta este versiunea instalată pe mașina mea:

python3.8
Inversul depinde:
  python3.8-minimal
  python3.8-minimal
  python3-uno
  rhythmbox-plugin-uri
  python3.8-minimal
  python3
  python3-uno
  xviewer-plugin-uri
wjandrea avatar
drapel cn
Pentru a fi clar, `python3` este cel important acolo. Dacă rulați `apt rdepends --installed python3`, veți vedea o listă uriașă, de exemplu `gnome-shell` și `ubuntu-minimal`.
Dion avatar
drapel cn
@wjandrea Nu este `python3` doar o legătură simbolică care indică o anumită versiune, de ex. `python3 -> python3.8` în `ls -l` din OP? Deci, teoretic, îl puteți face să indice orice versiune `python3.x` pe care doriți. Spun teoretic pentru că nu știu care sunt schimbările de ruptură în 3.8 vs 3.9 vs 3.10, dar presupun că sunt unele.
wjandrea avatar
drapel cn
Dacă schimbați legătura simbolică, lucrurile se vor rupe, cum ar fi [Terminal Gnome, de exemplu](/q/880188/301745). IIRC, acest lucru se datorează faptului că bibliotecile de sistem precum `_gi` sunt construite pentru o anumită versiune. În plus, există câteva modificări de ultimă oră, da (ref: [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.9.html#porting-to-python-3-9), ://docs.python.org/3/whatsnew/3.10.html#porting-to-python-3-10)).
Dion avatar
drapel cn
Interesant, multumesc pentru informatii!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.