Puncte:0

Probleme vechi de instalare a python, actualizați python3-distils

drapel cn

Am avut aceasta problema de multe ori si nu am reusit sa o rezolv. Tocmai am compilat și instalat manual python 3.10 pe ubuntu 20.04, din anumite motive cred că cel mai recent este probabil cel mai bun, dar cu python acest lucru este discutabil!

Acum, când încerc să fac unele actualizări, primesc erori comune, cum ar fi acestea, sugerează că sistemul nu găsește „py_compile.py”?

Se configurează python3-distutils (3.8.10-0ubuntu1~20.04)...
/usr/bin/python3.9: nu se poate deschide fișierul „/usr/lib/python3.9/py_compile.py”: [Errno 2] Nu există un astfel de fișier sau director

Cu toate acestea, când caut, am multe copii ale acestui fișier în sistemul meu, inclusiv

/usr/local/lib/python3.10/py_compile.py

Unde ar trebui să fie acest fișier pentru ca sistemul să-l găsească? Trebuie să specific un director de instalare diferit pentru ubuntu, spre deosebire de majoritatea celorlalte sisteme Linux, atunci când configurez înainte de a face etapele de instalare ale compilării?

Nici măcar nu voi distra folosind purge sau ceva de genul acesta, am eliminat părți mari din întregul sistem înainte făcând asta, totul pare să fie dependent de python! Mersi. J

drapel us
`/usr/bin/python3.9: nu se poate deschide fișierul` -- Ubuntu 20.04 are python 3.8. Cum ai ajuns la 3.9 acolo? De asemenea, ați înlocuit python-ul implicit (3.8) cu o versiune ulterioară?
Jim Maas avatar
drapel cn
Am descărcat 3.9.tar.gz, l-am dezarhivat, configurat, face, make install, dar directorul de instalare implicit pare incorect pentru ubuntu? Mersi
drapel us
Acesta nu este o modalitate sigură de a instala python în Ubuntu (dacă nu știți ce faceți). Vezi răspunsul meu.
Puncte:2
drapel sa

py_compile.py este furnizat de libpython3.8-minimal în Ubuntu 20.04. Deschideți terminalul și tastați:

sudo apt install python3-all libpython3.8-minimal
sudo update-alternatives --config python3 # selectați python3.8 pentru modul automat
sudo apt install python3-distutils
actualizare sudo apt
sudo apt upgrade

În plus față de codul de mai sus, ați rupt legături simbolice de la versiunile de Python pe care le-ați șters, dintre care unele au fost inițial instalate manual. Aceste link-uri simbolice întrerupte către versiunile șterse ale Python 3.X fac ca apt (care necesită python3) să se comporte necorespunzător. Puteți găsi aceste link-uri simbolice întrerupte urmând instrucțiunile din Cum pot găsi legături simbolice rupte.

Dacă găsiți linkuri simbolice cu aspect suspect, le puteți scana cu ajutorul legături simbolice pachet ( sudo apt install legături simbolice ) și căutați oricare atârnând link-uri. atârnând link-urile sunt acelea pentru care ținta link-ului nu există în prezent, astfel încât link-urile suspendate pot fi șterse în siguranță. Dacă nu sunteți sigur dacă un link simbolic poate fi șters în siguranță, puteți redenumi linkul adăugând o extensie .bak la sfârșitul numelui său, astfel încât să puteți restabili rapid linkul eliminând extensia .bak din numele său.

Jim Maas avatar
drapel cn
Mulțumesc karel, așa că ar reveni la python 3.8... Corect? Cred că încep să văd că nu este posibil să folosești python 3.9, sau 3.10 pe Ubuntu 20.04, prea mult a fost construit folosind 3.8 și instalarea unei noi versiuni rupe sistemul? Este acest lucru în general corect?
karel avatar
drapel sa
Este corect. Revenirea la python3.8 ar putea rezolva problema de gestionare a pachetelor și apoi puteți selecta python3.9 sau python3.10 cu starea „modul manual” rulând „sudo update-alternatives --config python3” și apăsați pentru a păstra alegerea curentă[*] sau tastați numărul de selecție.
Jim Maas avatar
drapel cn
Prima linie funcționează bine, instalate ambele, dar a doua linie nu găsește 3.8, obțineți acest „sudo update-alternatives --config python3 Există o singură alternativă în grupul de legături python3 (furnizează /usr/bin/python3.9): /usr/local/bin/python3.9 Nimic de configurat." Pot să merg la directoarele în care am compilat 3.9 și 3.10 și să fac dezinstalare, dar mi-e teamă că îmi va distruge tot sistemul? Cum pot obține alternative de actualizare pentru a găsi 3.8? Se găsește dacă actualizez -alternative --config python (adică nu python3). Thx. J.
karel avatar
drapel sa
Sari peste a doua linie pentru moment. Poate că o repornire vă va permite să selectați 3.8. Continuați cu următoarele trei comenzi și verificați dacă asta rezolvă problema din întrebarea dvs.
Jim Maas avatar
drapel cn
Am făcut ceva greșit! „$ python Python 3.10.0 (implicit, 24 noiembrie 2021, 07:40:12) [GCC 9.3.0] pe Linux” în timp ce „$ which python /usr/bin/python” și „$ /usr/bin/python Python 3.8.10 (implicit, 28 septembrie 2021, 16:10:42)" . Trebuie să am probleme cu declarația de cale? Prea multe căi specificate?
karel avatar
drapel sa
Îți amintești cum ai instalat Python 3.10.0? A fost instalat de pe ppa:deadsnakes/ppa? Dacă da, dacă puteți elimina ppa:deadsnakes/ppa și rulați `sudo apt update`, puteți dezinstala Python 3.10.0.
Jim Maas avatar
drapel cn
Mai degrabă curajos (prost!) a descărcat tar.gz, de pe python.org, dezarhivat, configurat cu setări implicite, make, sudo make install. Tocmai am fost în acel director și nu există nicio țintă pentru sudo make uninstall!
karel avatar
drapel sa
Să [continuăm această discuție în chat](https://chat.stackexchange.com/rooms/131729/discussion-between-karel-and-jim-maas).
Puncte:1
drapel us

Cel mai sigur mod de instalare python3.10 în Ubuntu 20.04 este să utilizați deadsnakes PPA.

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt install python3.10

Și apoi sună-l cu python3.10. Pentru python3.9, instalați cu sudo apt install python3.9.


Nu ați descris toate modificările pe care le-ați făcut sistemului dumneavoastră (se pare că aveți python3.9 și python3.10).

În cazul în care nu ați eliminat versiunea implicită python (3.8), puteți reseta versiunea implicită cu update-alternatives --config python și alegeți python3.8.

În cazul în care ați înlocuit deja versiunea implicită cu python3.9, va trebui să reinstalați Ubuntu. Componentele sistemului din Ubuntu 20.04 sunt proiectate să funcționeze cu python3.8.

Jim Maas avatar
drapel cn
Mulțumesc pentru asta, deci sugerezi că nu există nicio modalitate de a instala versiuni noi trecute de 3.8, pe ubuntu 20.04 și de a nu sparge întregul sistem? Presupun că când spui „reinstalează Ubuntu” te referi cu o versiune mai nouă, cum ar fi 21.10?
drapel us
Desigur, puteți folosi python3.9. Pur și simplu îl executați cu `python3.9`. Dar atribuiți versiunea implicită 3.8 lui python. Puteți reinstala orice versiune de Ubuntu doriți, dar nu ar trebui să vă încurcați cu versiunea implicită python (desigur, puteți instala versiuni suplimentare, totuși, deadsnakes PPA acceptă doar versiunile LTS de Ubuntu).

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.