EDIT: Actualizări de mai jos, peisajul pare să se fi schimbat semnificativ.
Am Ubuntu 20.04 și am instalat manual Python 3.10. Există deja python 2 în sistem și asta primesc dacă pur și simplu execut piton
la o linie de comandă, mai degrabă decât python3
. Cu toate acestea, se pare că am doar o versiune de pip care este specifică pentru python3.
Am un program pe care vreau să-l rulez (chirp) care este scris în python2. Se plânge de lipsa unei biblioteci seriale:
$ ./chirpw
Traceback (cel mai recent apel ultimul):
Fișierul „./chirpw”, linia 24, în <modul>
din importul chirp.drivers *
Fișierul „/home/simon/chirp-daily-20220103/chirp/drivers/idrp.py”, rândul 16, în <modul>
import serial
ImportError: Niciun modul numit serial
Cu toate acestea, dacă încerc să obțin acest modul cu pip, ajung să ruleze pip3 și obțin versiunea python3 a acestui modul.
Cum ar trebui să procedez pentru a adăuga o bibliotecă la python2 în mod specific (și să mă asigur că biblioteca care este preluată este biblioteca python2)?
Presupun că cea mai „cea mai bună” modalitate ar putea fi crearea unui mediu virtual special pentru acest program, dar nu știu cum să fac asta nici în cazul unui program preexistent.
Orice indicații sunt acceptate cu recunoștință.
EDITAȚI | ×. Am gasit aceasta pagina: configurarea pipenv și medii virtuale și se pare că am mers înainte. Acum se pare că am un mediu virtual real construit în jurul /usr/bin/python (care este python2.7), iar folosindu-l, pip -install serial a funcționat. Cu toate acestea, după ce a făcut acest lucru, acum se plânge că nu poate găsi modulul gtk, iar încercarea de a încărca acel modul eșuează spunând că nu există un astfel de modul:
(venv) :~/chirp-daily-20220103$ python -m pip install gtk
DEZAPROBARE:[...]
EROARE: Nu s-a putut găsi o versiune care îndeplinește cerința gtk (din versiuni: niciuna)
EROARE: Nu a fost găsită nicio distribuție potrivită pentru gtk
Apoi am încercat versiunea flatpak a acesteia, dar flatpak nu funcționează deloc pentru mine.Voi deschide o altă întrebare cu privire la asta, deoarece acum suntem departe de subiectul întrebării mele inițiale.
Mulțumesc tuturor celor care au încercat să ajute :)