01 Uči
Virtuelno okruženje daje jednom projektu sopstvene alatke.
Zamisli dva projekta kojima trebaju različite verzije iste biblioteke. Globalna instalacija svega može izazvati konflikte. Virtuelno okruženje svakom projektu daje sopstveni skup instaliranih Python paketa.
PROJEKAT A
└── virtuelno okruženje A
└── njegove biblioteke
PROJEKAT B
└── virtuelno okruženje B
└── njegove biblioteke
Svaki projekat ima svoju kutiju sa alatima. Virtuelno okruženje izdvaja Python pakete projekta; nije bezbednosni sandbox niti zaseban operativni sistem.
Standardni Python alat za ovo je venv. Okruženje se obično nalazi u lokalnom folderu .venv unutar projekta.
↳Dve stvari koje treba razlikovati: Aktiviranje okruženja menja Python koji terminal koristi. Izbor interpretera govori VS Code-u koji Python koristi za uređivanje, pokretanje i Python alate. Povezani su, ali nisu ista radnja.
Napravi .venv iz foldera projektapython -m venv .venv
# On some macOS/Linux systems:
python3 -m venv .venv
python pokreće interpreter, -m venv pokreće ugrađeni Python modul za okruženja, a .venv je folder koji nastaje. Ne uređuj fajlove unutar .venv ručno.
Aktiviraj ga u terminalumacOS/Linux:
source .venv/bin/activate
Windows PowerShell:
.\.venv\Scripts\Activate.ps1
Windows Command Prompt:
.venv\Scripts\activate.bat
Leave an activated environment:
deactivate
Python iz okruženja možeš pozvati i direktnom putanjom bez aktivacije. Koristi python -m pip kada želiš pip vezan za Python interpreter koji si izabrao.
Instaliraj i zabeleži bibliotekupython -m pip install requests
python -m pip list
python -m pip freeze > requirements.txt
python -m pip install -r requirements.txt
requests se instalira u izabrano okruženje projekta. requirements.txt beleži distribucije i verzije koje pip može ponovo da instalira; pip freeze uključuje i instalirane zavisnosti, ne samo pakete koje si neposredno izabrao.
Zadrži .venv lokalno pomoću .gitignore.venv/
__pycache__/
*.pyc
Ne šalji .venv na GitHub: može biti velik, zavisi od lokalnog sistema i može se ponovo napraviti. Umesto toga sačuvaj requirements.txt uz projekat.
Izaberi .venv interpreter u VS Code-u
- 1. Otvori Command PaletteOtvori Command Palette u VS Code-u.
- 2. Izaberi Python: Select InterpreterPronađi i izaberi
Python: Select Interpreter.
- 3. Izaberi Python unutar .venvIzaberi interpreter koji pripada
.venv tvog projekta, pa proveri da ga VS Code prikazuje kao izabranog.
Česti problemi sa virtuelnim okruženjima
- python nije pronađenProveri da li je Python instaliran. Na macOS/Linux probaj python3; na Windowsu, gde je dostupan Python Launcher, koristi py.
- Biblioteka nije pronađenaProveri aktivirano okruženje, VS Code interpreter i u koje okruženje je izvršena pip instalacija.
- PowerShell blokira aktivacijuWindows execution-policy podešavanja mogu blokirati skripte. Nemoj trajno isključivati bezbednosne zaštite; umesto toga koristi Command Prompt terminal ili pokreni Python iz .venv direktno.
- .venv se ne vidiProveri da li je folder napravljen. Neki prikazi editora mogu sakriti foldere; ponovo proveri izbor interpretera.
02 Radi lokalno
Pripremi svoj prvi izolovani Python projekat
Radi ovo u VS Code-u
Radi lokalno u VS Code-u. Svaku komandu izvrši u folderu projekta i zastani da razumeš šta menja.
Konačna struktura lokalnog projektamoj_venv_projekat/
├── .venv/
├── .gitignore
├── main.py
└── requirements.txt
.venv ostaje lokalno. requirements.txt pripada projektu kako bi se njegove zavisnosti mogle ponovo napraviti.
Napravi okruženje korak po korak
- Napravi i otvori moj_venv_projekatNapravi folder pod imenom
moj_venv_projekat i otvori ga u VS Code-u. - Kreiraj i aktiviraj .venvNapravi
.venv, pa zatim upotrebi komandu za aktivaciju svog terminala.python -m venv .venv
# or: python3 -m venv .venv
# macOS/Linux: source .venv/bin/activate
# Windows PowerShell: .\.venv\Scripts\Activate.ps1
- Izaberi VS Code interpreterKoristi
Python: Select Interpreter i izaberi interpreter unutar .venv. - Instaliraj requests i napravi main.pyInstaliraj requests u ovo okruženje. Zatim napravi mali fajl koji proverava da import radi bez slanja mrežnog zahteva.
python -m pip install requests
# main.py
import requests
print("Biblioteka requests je dostupna.")
- Zabeleži zavisnosti i ignoriši .venvNapravi requirements.txt i dodaj .venv u .gitignore pre nego što podeliš projekat.
python -m pip freeze > requirements.txt
# .gitignore
.venv/
__pycache__/
*.pyc
- Pokreni program, pa izađi iz okruženjaPokreni
python main.py. Kada završiš rad u ovom terminalu, koristi deactivate.python main.py
deactivate
↳Kasnije ponovo instaliraj zavisnosti: python -m pip install -r requirements.txt Pokreni ovo unutar novog, kreiranog i izabranog okruženja projekta.
Pre nego što zatražiš pomoć od Slobyja
- Najpre proveri interpreterPotvrdi da VS Code i python -m pip pokazuju na Python unutar .venv ovog projekta.
- Proveri otvoreni fajlKoristi Check My Code za aktivni Python fajl nakon svog pokušaja; on pregleda kod, a ne terminal ni instalirane pakete.
↳Sledeće: pip i requirements.txt. Sada znaš zašto jednom projektu treba sopstveno okruženje. Sledeće ćeš detaljnije upoznati instaliranje i beleženje zavisnosti projekta.
Radi samostalno u VS Code-u
Napravi potpuno novo Python okruženje
Napravi drugi folder projekta i samostalno ponovi postupak pre nego što zatražiš nagoveštaj od Slobyja.
Vaš ciljNapravi novi projekat i .venv, aktiviraj ga, instaliraj requests, napiši mali program koji ga importuje, napravi requirements.txt, dodaj .venv/ u .gitignore i pokreni program.
drugi_projekat/
├── .venv/
├── .gitignore
├── main.py
└── requirements.txt
Radi u svom lokalnom VS Code folderu
Nagoveštaji korak po korak
- Najpre napravi folder projekta, pa tek onda .venv.
- Koristi python -m venv .venv, pa zatim izaberi taj interpreter u VS Code-u.
- Nakon instalacije requests koristi python -m pip freeze > requirements.txt.
Nakon pokušaja koristi Ask Sloby za objašnjenje ili Check My Code za aktivni Python fajl. Sloby ne pokreće terminalske komande, ne aktivira okruženja i ne menja tvoje fajlove.