Sunteți pe pagina 1din 29

Alegerea temei proiectelor

personale
PYTHON
FUNDAMENTALS

7. PIP, descărcarea,
utilizarea librariilor
externe, Librăria Requests,
virtual environment
Mentoră: Diana Artiom
STRUCTURA CURSULUI
● 29.01.24-31.01.24 Modul 1 – Introducere
● 02.02.24-07.02.24 Modul 2 – Tipuri de date simple
● 09.02.24-14.02.24 Modul 3 – Condiţionale şi bucle
● 16.02.24-21.02.24 Modul 4 – Tipuri de date 2
● 23.02.24-11.03.24 Modul 5 – Funcţii
● 13.03.24-20.03.24 Modul 6 – Bazele OOP
● 22.03.24-05.04.24 Modul 7 – Librării Externe Python
STRUCTURA Modulului 7
● Lectia 24: Modul 7, L01: PIP, descărcarea, utilizarea librariilor externe,
Librăria Request, Virtual environment
● Lectia 25: Modul 7, L02: Lucrul cu bibliotecile NumPy si Pandas pentru prelucrarea
datelor
● Lectia 26: Modul 7, L03: Vizualizarea datelor cu Matplotlib si Seaborn. Importanța
vizualizarii în explorarea și înțelegerea seturilor de date.
● Lectia 27: Modul 7, L04: Dezvoltarea rapida de aplicatii Web pentru AI/ML cu
streamlit
● Lectia 28: Modul 7, L05: Concepte de baza in Machine Learning: învățarea
supervizată vs nesupervizată, modele de clasificare, regresie cu Scikit-learn
● Lectia 29: Modul 7, L06: Automatizari in Python, Bonus: Lucrul cu libraria OpenAI:
Accesarea diferitor modele GPT
● Lectia 30: Modul 7, L07: Prezentarea Proiectelor personale. Finalizarea cursului.
Anunț important - saptamana aceasta
● 18.03.24 - Luni, 18:30
● 20.03.24 - Miercuri, 18:30
● 21.03.24 - Joi, 18:30 inloc de Vineri!
pip & virtual env
Ce Este PIP?
● PIP este un sistem de management al pachetelor utilizat pentru
instalarea și gestionarea pachetelor software scrise în Python.
● A evoluat ca o componentă esențială a ecosistemului Python,
facilitând accesul la mii de biblioteci.
Utilizarea PIP
● Verificarea instalării:
○ pip --version
● Comenzi de bază:
○ Instalarea pachetelor: pip install <pachet>
○ Dezinstalarea pachetelor: pip uninstall <pachet>
○ Listarea pachetelor instalate: pip list
○ Creează un fișier cu toate pachetele instalate: pip freeze >
requirements.txt

Utilizarea PIP
● Verificarea instalării:
○ pip --version
Utilizarea PIP
● Instalarea pachetelor: pip install <pachet>
Utilizarea PIP
● Instalarea pachetelor: pip uninstall <pachet>
Utilizarea PIP
● Instalarea pachetelor: pip install <pachet>
Ce se întâmplă când se face pip install?
Când rulezi comanda pip install <pachet>, PIP execută următorii pași:

Căutarea Pachetului: PIP caută pachetul specificat în Python Package Index (PyPI). Dacă
sunt specificate versiuni, PIP va căuta versiunea corespunzătoare.

Descărcarea Pachetului: După localizarea pachetului, PIP îl descarcă într-o locație


temporară pe sistemul tău.

Verificarea Pachetului: PIP verifică integritatea pachetului descărcat, asigurându-se că


nu a fost corupt și că corespunde metadatelor din PyPI.

Instalarea Dependențelor: Dacă pachetul are dependențe (alte pachete de care depinde
pentru a funcționa corect), PIP le va instala automat, dacă nu sunt deja prezente.

Instalarea Pachetului: Pachetul este instalat în locația standard pentru bibliotecile


Python de pe sistemul tău. Această locație variază în funcție de sistemul de operare și
de configurarea Python, dar în mod tipic este un director numit site-packages care se
găsește în directorul de instalare al interpretorului Python.
Unde se salvează pachetele instalate?
● La nivel global: În absența unui mediu virtual, pachetele sunt instalate global, adică în
directorul site-packages menționat anterior. Aceasta înseamnă că orice proiect sau script
Python executat pe acel sistem va avea acces la pachetele instalate.

● Într-un mediu virtual: Când un mediu virtual este activ, pip install <pachet> instalează
pachetele într-un director site-packages specific mediului virtual, izolând astfel pachetele de
mediul global și de alte medii virtuale. Această izolare ajută la prevenirea conflictelor între
versiunile pachetelor și facilitează gestionarea dependențelor pentru proiecte individuale.
Python Virtual Environments
● Un mediu Python izolat, care permite instalarea pachetelor fără a afecta mediul global sau alte
medii virtuale.
● Crearea și Activarea unui Mediu Virtual:
○ Creare: python -m venv <nume_mediu>
○ Activare:
■ Windows: <nume_mediu>\Scripts\activate
■ Linux/Mac: source <nume_mediu>/bin/activate
Avantajele python virtual environment
● Utilizarea mediilor virtuale cu PIP este considerată o practică standard în dezvoltarea Python,
asigurându că proiectele rămân portabile și că dependențele sunt gestionate eficient.

● Python virtual environment(s) ofera:


○ Izolare: Cel mai mare avantaj al utilizării unui mediu virtual este izolarea. Instalând pachete
într-un mediu virtual, eviți modificarea dependențelor globale, care ar putea afecta alte
proiecte sau chiar funcționarea sistemului.
○ Control versiuni: Poți avea versiuni diferite ale aceluiași pachet instalate în medii virtuale
separate, permițându-ți să lucrezi cu diferite versiuni ale unui pachet fără a provoca
conflicte.
○ Ușurința gestionării dependențelor: Cu un mediu virtual, pip freeze > requirements.txt va
lista doar pachetele instalate în acel mediu, făcându-l un instrument ideal pentru a menține
o evidență clară a dependențelor proiectului tău.
Pip cache
Când instalezi pachete folosind PIP, nu doar că descarcă și instalează pachetele necesare, dar de
asemenea salvează aceste pachete într-un cache local. Această abordare are mai multe beneficii
importante:
● Viteză de Instalare Îmbunătățită: Odată ce un pachet a fost descărcat, instalările viitoare ale
aceluiași pachet (sau aceluiași pachet în aceeași versiune) pot fi realizate mai rapid, deoarece
PIP va folosi copia din cache în loc să descarce din nou pachetul de pe PyPI. Acest lucru
accelerează semnificativ procesul de reinstalare sau instalare în diferite medii virtuale.
● Economisirea Lățimii de Bandă (Bandwidth): Utilizând cache-ul, PIP reduce necesitatea de a
descărca repetat aceleași pachete de la internet, economisind lățimea de bandă și fiind util în
situații cu conectivitate limitată sau costisitoare.
● Disponibilitate În Condiții de Offline: Dacă te afli într-o situație fără acces la internet, cache-ul
PIP îți permite să instalezi pachete pe care le-ai descărcat anterior, asigurând că poți continua să
lucrezi la proiectele tale chiar și în absența unei conexiuni la internet.
Locația Cache-ului PIP
● Pe Windows: Cache-ul PIP se găsește de obicei în C:\Users\<nume
utilizator>\AppData\Local\pip\Cache.
● Pe Unix-like (Linux/Mac): Locația standard este ~/.cache/pip.

Gestionarea Cache-ului
Deși cache-ul este util, în anumite situații s-ar putea să vrei să controlezi utilizarea acestuia (:

Golirea Cache-ului: Poți elibera spațiu pe disc golind cache-ul PIP cu comanda pip cache purge.
Acest lucru este util dacă spațiul de stocare devine o preocupare.
Instalare Fără Utilizarea Cache-ului: Dacă dorești să forțezi PIP să descarce pachetele indiferent de
prezența lor în cache, poți folosi opțiunea --no-cache-dir, de exemplu: pip install --no-cache-dir
<pachet>.
Vizualizarea Cache-ului: Comanda pip cache list îți permite să vezi ce pachete sunt stocate în cache.
Gestionarea Cache-ului
Gestionarea Cache-ului
Deși cache-ul este util, în anumite situații s-ar putea să vrei să controlezi utilizarea acestuia (:
● Golirea Cache-ului: Poți elibera spațiu pe disc golind cache-ul PIP cu comanda pip cache purge.
Acest lucru este util dacă spațiul de stocare devine o preocupare.
● Instalare Fără Utilizarea Cache-ului: Dacă dorești să forțezi PIP să descarce pachetele
indiferent de prezența lor în cache, poți folosi opțiunea --no-cache-dir, de exemplu: pip install
--no-cache-dir <pachet>.
● Vizualizarea Cache-ului: Comanda pip cache list îți permite să vezi ce pachete sunt stocate în
cache.

● ….
Libraria requests
Requests
● Biblioteca Requests este una dintre cele mai populare biblioteci Python, datorită simplității și
eficienței sale în a efectua cereri HTTP.
● Este proiectată pentru a fi ușor de utilizat și accesibilă, oferind o interfață simplă pentru a efectua o
gamă largă de operații HTTP.
● Pentru a începe să utilizezi Requests, trebuie mai întâi să o instalezi folosind PIP:
○ pip install requests
● Realizarea Cererilor HTTP Requests oferă funcții pentru toate metodele HTTP principale: GET, POST,
PUT, DELETE, HEAD, OPTIONS, PATCH. Utilizarea sa de bază este extrem de simplă:
○ Cerere GET
import requests
response = requests.get('https://api.example.com/resources')
○ Cerere POST
response = requests.post('https://api.example.com/resources', data={'key': 'value'})
Requests - Manipularea Răspunsurilor
● După trimiterea unei cereri, obiectul response conține toate informațiile legate de răspunsul
primit:
○ Conținutul Răspunsului: response.content pentru răspunsul brut în bytes sau
response.text pentru conținutul decodat într-un string.
○ Codul de Status: response.status_code pentru a verifica dacă cererea a fost reușită.
○ Headers: response.headers pentru a accesa headerele răspunsului.
○ JSON: Dacă răspunsul este în format JSON, poți folosi response.json() pentru a-l parsa
direct într-un dicționar Python.
Requests - Exemplu
Exemplu 1: Cerere GET pentru a prelua date
import requests

# Realizăm o cerere GET


response = requests.get('https://jsonplaceholder.typicode.com/posts')

# Verificăm dacă cererea a fost reușită


if response.status_code == 200:
# Parsăm JSON-ul într-o listă de dicșionare Python
posts = response.json()

# Afișăm primele 3 postări


for post in posts[:3]:
print('Title of current post is: ', post['title'])
else:
print('Eroare la preluarea postărilor')

Rezultat:
Exemplu 2: Cerere POST pentru a trimite date
import requests

# Definim URL-ul și datele pe care vrem să le trimitem


url = 'https://jsonplaceholder.typicode.com/posts'
my_post = {'title': 'Titlu nou', 'body': 'Conținutul postării', 'userId': 1}

# Facem cererea POST


response = requests.post(url, json=my_post)

# Verificăm dacă crearea a fost reușită


if response.status_code == 201:
print('Postarea a fost creată cu succes.')
created_post = response.json()
print('ID Postare:', created_post['id'])
else:
print('Eroare la crearea postării')

Rezultat:
Exemplu 3: Gestionarea excepțiilor și a timeout-urilor
import requests
from requests.exceptions import RequestException

try:
response = requests.get('https://jsonplaceholder.typicode.com/poss', timeout=5)
except RequestException as e:
print('A apărut o eroare:', e)

Rezultat:
Exemplu 4: Utilizarea parametrilor în cererile GET
import requests

# Definim URL-ul și parametrii pentru cerere


url = 'https://jsonplaceholder.typicode.com/posts'
params = {'userId': 1}

# Facem cererea GET cu parametrii specificași


response = requests.get(url, params=params)
if response.status_code == 200:
# Extragem și afișăm titlurile postărilor utilizatorului 1
posts = response.json()
for post in posts:
print(post['title'])

else:
print('Eroare la preluarea postărilor')

Rezultat:
Exercitii

S-ar putea să vă placă și