Puncte:0

În Ubuntu 20.04, cum actualizez Python 3.8 la 3.9 și cum pot folosi IDLE Shell 3.9 în loc de 3.8 ca implicit?

drapel co
SBL

Sunt pe Ubuntu 20.04. Mă întrebam de ce chiar și după ce am intrat

sudo apt install python 3.9

în terminal, dar încă primesc python 3.8.10 când intru python3 --versiune. Cum îl fac 3.9, astfel încât, când deschid IDLE, să primesc „IDLE Shell 3.9.6” în loc de „IDLE Shell 3.8.10”?

Tocmai am început să folosesc Ubuntu și Linux și este posibil să nu înțeleg clar unele lucruri încă.

ChanganAuto avatar
drapel us
Unul dintre primele lucruri pe care *trebuie* să le înțelegi este să NU te încurci cu python, deoarece este o parte integrantă a sistemului de operare.
drapel ru
***NU*** te încurcă cu Python care este instalat pe sistem! **ACSTA VA DISTRUGE ABILITATEA DE A FACE ORICE PE SISTEM!** Gestionarea pachetelor, actualizări, totul are o componentă dependentă de Python care depinde de versiunile Python instalate de sistem.
drapel ru
Caut o alternativă pentru a utiliza IDLE cu Python 3.9.x instalat prin PyENV în spațiul utilizatorului, dar nu o am încă ca soluție - dacă găsesc o modalitate care funcționează, vă voi anunța și vă voi posta toate acestea. ca răspuns.
user535733 avatar
drapel cn
Dacă doriți să utilizați o versiune mai nouă de Python3, atunci cea mai ușoară cale este să utilizați pur și simplu o versiune mai nouă a Ubuntu. 20,04 (LTS) = Py3,8. 21.04 (non-LTS) = Py3.9
drapel ru
@user535733 Nu toată lumea vrea să părăsească versiunile LTS. De aceea există și alte soluții. :)
user535733 avatar
drapel cn
@ThomasWard cu siguranță.
Puncte:1
drapel ru

NU FACE încurcă-te cu Python care este instalat pe sistem! ACEST VA DISTRUGE ABILITATEA DE A FACE ORICE PE SISTEM! Gestionarea pachetelor, actualizări, totul are o componentă dependentă de Python, care depinde de versiunile Python instalate de sistem.


Acolo este o modalitate de a instala Python mai nou pentru a lucra cu el și a utiliza IDLE pe el, dar nu este simplu și se bazează pe un proiect extern (la care nu am nicio afiliere) numit pyenv pe GitHub care vă permite să rulați mai multe instalări Python una lângă alta și utilizează shim-uri pentru a vă asigura că versiunea pe care VREI să o utilizați este disponibilă.

Trebuie să vă ajustați setările depozitului aici acum! Avem nevoie de repos-urile sursei (definite de deb-src linii în /etc/apt/sources.list) activat pentru repozițiile pe care le-ați activat.

Dacă sunteți un utilizator GUI, consultați această pagină pe wiki Ubuntu pentru gestionarea depozitelor în GUI. Va trebui să activați opțiunea „Cod sursă” din fila „Software Ubuntu”.

Dacă utilizați linia de comandă, oricum nu ar trebui să utilizați IDLE, dar puteți edita sursele prin linia de comandă, referindu-vă la această pagină din documentele de ajutor Ubuntu pentru gestionarea CLI a surselor. În /etc/apt/sources.list, pentru fiecare linie pe care o ai un deb... linie care nu este comentată, ar trebui să existe o linie comentată deb-src linie pentru a se potrivi - anulați comentariul deb-src linia și apoi alerga actualizare sudo apt. Dacă nu există linii deb-src, atunci pentru fiecare necomentat deb linia duplica acea linie, dar schimbă noua intrare (linia duplicată) pentru început deb-src.

Odată ce ați făcut acest lucru, atunci trebuie să setăm dependențele pyenv.

Instalare pyenv în mediul tău.

PyENV oferă un instalator automat - aici pe GitHub - împreună cu instrucțiuni de utilizare. Aceste instrucțiuni, practic, sunt următoarele:

curl https://pyenv.run | bash

NU rulați acest lucru cu superutilizator, nu este necesar! Odată ce instalarea rulează, vă va instrui să adăugați câteva linii la dvs ~/.bashrc fişier. Faceți ceea ce spune și apoi închideți și redeschideți terminalul.

Odată ce ai ajuns acolo, asigură-te pyenv funcționează prin rulare versiuni pyenv și vedeți ce este listat (ar trebui doar să listeze „sistem”).

Odată ce s-a terminat, trebuie să vă oferim dependențele de compilare necesare pentru ca sistemul dumneavoastră să instaleze și să construiască Python!

ÎNTÂI, aveți nevoie de niște dependențe de construcție. Toate acestea sunt adaptate pentru diferitele versiuni de bază Python din fiecare lansare, executați doar liniile relevante pentru ediția dvs.

Obțineți dependențele de construcție. Pentru Python și IDLE, aveți nevoie și de bibliotecile TK, așa că vom obține mai întâi toate dependențele.

Pentru 18.04:

sudo apt build-dep python3.6 python3-tk

Pentru 20.04:

sudo apt build-dep python3.7 python3-tk

Pentru 21.04 (și 21.10 odată ce este lansat):

sudo apt build-dep python3.9 python3-tk

Acest lucru va instala o mulțime de biblioteci. Trebuie să permiteți instalarea acestora. Aceasta instalează TOATE dependențele de construire necesare pentru a-i permite lui Python să construiască și să opereze; aceasta extrage dependențele pentru versiunile Python instalate de sistem, dar ar trebui să funcționeze bine pentru versiunile ulterioare Python pe care pyenv le va instala în spațiul utilizatorului.

Acum, odată ce toate acestea sunt instalate, trebuie să vă configuram pyenv și să-l punem să instaleze o versiune Python în spațiul utilizatorului!

Asumand versiuni pyenv vă arată rezultate, apoi putem trece la configurarea lucrurilor dvs.

Alerga pyenv install 3.9.7. Aceasta va descărca tarball-ul Python 3.9.7 din Python în amonte și apoi va construi și compila și instala Python 3.9.7 în spațiul de utilizator pentru pyenv. Acest lucru nu va dăuna Python-ului din sistemul dumneavoastră.

Odată gata, fugi pyenv local 3.9.7. Acest lucru va configura shim-urile care indică executabilele Python către versiunile dvs. locale pentru propriul dvs. shell. Asigurați-vă totuși că pyenv global arată în continuare „sistem” ca rezultat - altfel veți sparge apt și alte lucruri.

Acum, puteți obține IDLE și puteți începe să îl utilizați.

În primul rând, verificați pip3 este in .pyenv/shims calea directorului dvs. de acasă. Aceasta va însemna că pyenv este configurat corespunzător. Alerga pip3 --versiune, și asigurați-vă că se afișează pip ... de la (cale lungă în /home/$USER/.pyenv/...) (python 3.9) (înlocuirea biților „cale lungă” cu calea reală pentru referință.

Dacă toate acestea arată bine și arată „python 3.9” acolo, atunci puteți rula pip3 install --upgrade --user inactiv și instalați IDLE. Apoi puteți executa din linia de comandă inactiv și lansați editorul IDLE. Va trebui să faceți manual o comandă rapidă pe GUI pentru ca aceasta să funcționeze direct (dincolo de scopul acestei postări, îmi pare rău!) ca o aplicație GUI, fără a o deschide mai întâi pe partea Python a lucrurilor pe linia de comandă. Cu toate acestea, acest lucru va pune în funcțiune IDLE în mod corespunzător.

(Cu toate acestea, fiind o aplicație TK, arată puțin... urât... doar o informație.)

Testat pe un sistem 20.04, dar pyenv ar trebui să funcționeze bine cu versiunile ulterioare Ubuntu.

SBL avatar
drapel co
SBL
Ok, tocmai mi-am dat seama că nu aveți nevoie de inactiv pentru a programa python pe ubuntu și că puteți utiliza terminalul pentru a crea și rula fișiere python, în timp ce codificați pe editorul de text. Dar am instalat deja idle din terminal, înainte de a realiza acest lucru. Ar trebui să dezinstalez inactiv acum? Dacă da, cum ar trebui să o fac?
drapel ru
@SBL dacă ați instalat cu instrucțiunile mele, atunci `pip3 uninstall idle`. Totuși, dacă doriți Python 3.9, trebuie să utilizați instrucțiunile de mai sus pe care le-am scris, cu excepția instalării IDLE. Doar nu te încurca cu sistemul tău python)
SBL avatar
drapel co
SBL
Mulțumesc pentru avertisment
John Mee avatar
drapel th
Votați negativ pentru că sunteți alarmist. OP a fost instalat din repo-ul oficial cu instrumentul oficial. Făcând acest lucru nu le va rupe sistemul sau, dacă o face, atunci există o problemă oficială larg răspândită. Tot ce au nevoie este o explicație de ce setarea lui ca implicit este o idee proastă și câteva sfaturi despre cum să invoce python3.9 în mod explicit.

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.