Pachetele Python sunt colecții de module (cod reutilizabil) care extind și îmbunătățesc funcționalitatea limbajului Python de bază. Dezvoltatorii Python contribuie la depozitul oficial Python Package Index (PyPI), punându-și pachetele la dispoziția comunității Python în condiții de licență open source. Python Packaging Authority (PyPA) gestionează depozitul și menține un set standard de instrumente pentru construirea, distribuirea și instalarea pachetelor Python.

Pe supercomputerele de cercetare ale Universității Indiana, multe pachete de la terți sunt deja instalate pentru a completa compilările Python utilizate în mod obișnuit. Dacă aveți o nevoie unică de un pachet Python de la terți care nu este deja instalat, puteți utiliza pip sau setup.py pentru a instala pachetul în directorul dvs. personal. Dacă știți că mai mulți cercetători sunt interesați să utilizeze un pachet Python care nu este deja instalat, puteți solicita ca acesta să fie instalat ca un pachet de site la nivelul întregului sistem.

În această pagină:

  • Instalați pachete Python pentru uz personal
    • Pregătiți-vă mediul de utilizator
    • Instalați un pachet folosind pip
    • Instalați un pachet folosind setup.py sa script
  • Înțelegeți ordinea de căutare a modulelor

Instalați pachete Python pentru uz personal

Configurați-vă mediul de utilizator

Pentru a instala pachete Python, trebuie să aveți Python adăugat în mediul dumneavoastră de utilizator. Pe Carbonate, Python este adăugat în mediul dumneavoastră de utilizator în mod implicit. Pe Big Red 3, sau dacă ați eliminat anterior Python, utilizați următoarele instrucțiuni pentru a adăuga Python în mediul dumneavoastră de utilizator:

  1. Verificați ce module sunt încărcate în prezent; în linia de comandă, introduceți:
     module list
  2. Dacă Python nu se află printre modulele încărcate în prezent, utilizați comanda module load pentru a-l adăuga; de exemplu:
    • Pentru a adăuga versiunea implicită, pe linia de comandă, introduceți:
       module load python
    • Pentru a adăuga o versiune care nu este cea implicită:
      1. Verificați ce versiuni sunt disponibile; pe linia de comandă, introduceți:
         module avail python
      2. Încărcați versiunea preferată; pe linia de comandă, introduceți (înlocuiți version_number cu numărul versiunii preferate):
         module load python/version_number
  3. Dacă Python este listat printre modulele încărcate în prezent, dar preferați sau trebuie să utilizați o altă versiune, trebuie să eliminați modulul încărcat în prezent înainte de a încărca cealaltă versiune. Pentru a face acest lucru cu o singură comandă, utilizați module switch; de exemplu, pe linia de comandă, introduceți (înlocuiți current_version cu numărul de versiune al modulului python încărcat în prezent și new_version cu numărul versiunii preferate):
     module switch python/current_version python/new_version

Pentru a face modificări permanente în mediul dumneavoastră, editați fișierul~/.modules. Pentru mai multe informații, consultați Use a .modules file in your home directory to save your user environment on an IU research supercomputer.

Pentru mai multe informații despre utilizarea modulelor pentru a vă configura mediul de utilizator, consultați Use Modules to manage your software environment on IU’s research supercomputers.

Instalați un pachet utilizând pip

Strumentul de gestionare a pachetelor pip, unul dintre instrumentele standard întreținute de Python Package Authority (PyPA), este instrumentul recomandat pentru instalarea pachetelor din depozitul Python Package Index (PyPI).

Pentru a instala un pachet din depozitul PyPI (de exemplu, foo), utilizați comanda pip install cu indicatorul --user; de exemplu:

Opțiunea --user direcționează pip să descarce și să despacheteze distribuția sursă pentru pachetul dvs. (de exemplu, foo) în directorul site-packages al utilizatorului site-packages pentru Python care rulează; de exemplu:

 ~/.local/lib/python3.6/site-packages/foo

Python caută automat în acest director pentru module, astfel încât nu este necesară adăugarea acestei căi la variabila de mediu PYTHONPATH.

Dacă omiteți opțiunea --user, pip va încerca să vă instaleze pachetul în directorul global site-packages (unde nu aveți permisiunile necesare); ca urmare, instalarea va eșua.

Pentru mai multe informații despre utilizarea pip, consultați pagina pip install din Ghidul utilizatorului pip.

Instalați un pachet utilizând configurația acestuia.py script

Pentru a instala un pachet Python dintr-o altă sursă decât depozitul PyPI, puteți descărca și despacheta singur distribuția sursă, apoi puteți utiliza scriptul său setup.py pentru a instala pachetul în directorul site-packages al utilizatorului:

Opțiunea --user direcționează setup.py să instaleze pachetul (de exemplu, foo) în directorul user site-packages pentru Python în curs de execuție; de exemplu:

 ~/.local/lib/pythonX.Y/site-packages/foo

Python caută automat în acest director pentru module, astfel încât nu este necesară preaprecierea acestei căi la variabila de mediu PYTHONPATH.

Dacă omiteți opțiunea --user, setup.py va încerca să instaleze pachetul în directorul global site-packages (unde nu aveți permisiunile necesare); ca urmare, instalarea va eșua.

În mod alternativ, puteți utiliza opțiunea --home sau --prefix pentru a vă instala pachetul într-o locație diferită (unde aveți permisiunile necesare); de exemplu, pentru a vă instala pachetul într-un subdirectoriu (de exemplu, python-pkgs):

Nota:
Dacă vă instalați pachetul într-o altă locație decât directorul site-packages al utilizatorului, va trebui să adăugați calea către acel director la variabila de mediu PYTHONPATH. Pentru mai multe informații despre PYTHONPATH, consultați PYTHONPATH și ordinea python import de mai jos.

Pentru mai multe informații despre utilizarea setup.py pentru a instala pachete, consultați Instalarea modulelor Python (versiunea legacy).

Înțelegeți ordinea de căutare a modulelor

Cunoașterea modului în care interpretorul Python răspunde la declarațiile import vă poate ajuta să determinați de ce un anumit modul sau pachet nu se încarcă sau de ce se încarcă o versiune neașteptată a unui pachet, chiar dacă versiunea corectă este instalată și calea către locația sa este listată în variabila de mediu PYTHONPATH.

Când Python se lansează, el caută căile de acces găsite în sys.path, o listă de directoare care determină calea de căutare a modulelor de către interpretor. Variabila sys.path este inițializată din următoarele locații, în această ordine:

  1. Directorul care conține scriptul utilizat pentru a invoca interpretorul Python (dacă interpretorul este invocat interactiv sau scriptul este citit de la intrarea standard, acest prim element, path, rămâne un șir gol, care direcționează Python să caute mai întâi modulele din directorul de lucru curent)
  2. Directoarele listate în PYTHONPATH
  3. Directorul site-packages specific versiunii pentru instalația Python care rulează; de exemplu:
     <sys.prefix>/lib/pythonX.Y/site-packages

    În acest exemplu, <sys.prefix> este calea către instalația Python în curs de execuție; X.Y este numărul versiunii (de exemplu, 3.8) a instalației Python în curs de execuție.

În mod implicit, Python importă, de asemenea, modulul site.py la inițializare, care adaugă căile specifice site-ului la calea de căutare a modulelor (sys.path), inclusiv calea către directorul site-packages al utilizatorului site-packages din cadrul directorului dvs. personal; de exemplu (X.Y va fi numărul de versiune al instalației Python în curs de execuție):

 ~/.local/lib/pythonX.Y/site-packages
 ~/.local/lib/pythonX.Y/site-packages

În timp ce site.py adaugă căi de acces la sys.path, acesta le scanează pentru fișierele de configurare a căilor de acces (.pth), care conțin directoare suplimentare care sunt adăugate la sys.path. Dacă un director conține mai multe fișiere .pth, site.py le procesează în ordine alfabetică.

Cu toate acestea, unele fișiere .pth conțin comenzi încorporate care inserează intrări de directoare la începutul căii de căutare a modulelor (înaintea căii standard a bibliotecii). Ca urmare, un modul din unul dintre directoarele inserate se va încărca în locul modulului cu același nume din directorul bibliotecii standard. Acesta poate fi un comportament nedorit și derutant, cu excepția cazului în care se intenționează o astfel de înlocuire.

Nota:

Dacă solicitările dvs. de import sunt în mod constant perturbate de fișierele site.py și .pth, încercați să invocați interpretorul Python cu -S (S majusculă):

 python -S

Acest lucru dezactivează importul automat al site.py și, ca urmare, îl împiedică să manipuleze sys.path. Cu toate acestea, împiedică, de asemenea, site.py să adauge directorul site-packages al utilizatorului site-packages în sys.path. Pentru a importa site.py fără a adăuga directorul dvs. de utilizator site-packages la sys.path, invocați Python cu opțiunea -s (s minuscul):

 python -s

Pentru a vedea ce directoare scanează Python atunci când emiteți comenzi import, pe linia de comandă, introduceți:

 python -c "import sys; print ('\n'.join(sys.path))"

Alternativ, lansați Python în modul interactiv și apoi apelați aceleași comenzi în această ordine (>>> este promptul principal Python):

 >>>import sys >>>print ('\n'.join(sys.path))
Nota:
Variabila sys.path este doar o listă editabilă de șiruri de caractere pe care o puteți edita ca orice altă listă Python. Evitați să editați primul element din listă (path), deoarece multe pachete presupun că acesta se referă la directorul care conține scriptul utilizat pentru a invoca interpretorul Python.

Documente conexe

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.