Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
|
python_venv [2021/10/18 08:41] enrique_mieza_sanchez |
python_venv [2025/05/08 08:04] (actual) enric_mieza_sanchez |
||
|---|---|---|---|
| Línia 1: | Línia 1: | ||
| ~~REVEAL~~ | ~~REVEAL~~ | ||
| ====== Python Virtual Environment ====== | ====== Python Virtual Environment ====== | ||
| + | Les eines de //virtual environment// | ||
| + | {{ python-virtualenv-project-structure.jpg? | ||
| + | |||
| + | ==== Altres articles sobre Python en aquest web ==== | ||
| + | {{topic> | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ===== Python virtualenv ===== | ||
| * Desenvolupar o posar en producció **aplicacions en Python requereix diferents llibreries per cada projecte**. | * Desenvolupar o posar en producció **aplicacions en Python requereix diferents llibreries per cada projecte**. | ||
| - | * Es solen instal·lar amb el **gestor de paquets '' | + | * Les llibreries es solen instal·lar amb el **gestor de paquets '' |
| * Es desaconsella instal·lar llibreries al propi sistema operatiu, pot interferir en el seu funcionament | * Es desaconsella instal·lar llibreries al propi sistema operatiu, pot interferir en el seu funcionament | ||
| * Diverses apps o el SO poden requerir diferents versions de Python o de les llibreries. | * Diverses apps o el SO poden requerir diferents versions de Python o de les llibreries. | ||
| + | * PROHIBIT < | ||
| * Les eines de //virtual environment// | * Les eines de //virtual environment// | ||
| Línia 15: | Línia 25: | ||
| * **'' | * **'' | ||
| - | {{ python-virtualenv-project-structure.jpg? | + | \\ |
| + | |||
| + | ===== Requeriments per a Virtualenv ===== | ||
| + | * Comprova la versió que tens de Python:< | ||
| + | * En els exemples utilitzarem Python 3. Si no està instal·lat, | ||
| + | * Instal·la el mòdul '' | ||
| \\ | \\ | ||
| ===== Built-in venv ===== | ===== Built-in venv ===== | ||
| - | Referència: | + | Ve [[https:// |
| - | * https:// | + | $ sudo apt install python3-venv |
| + | |||
| + | Per crear el '' | ||
| + | < | ||
| + | |||
| + | Típicament | ||
| + | < | ||
| + | |||
| + | Veurem que s'ha creat una carepta '' | ||
| \\ | \\ | ||
| ===== Virtualenv ===== | ===== Virtualenv ===== | ||
| - | Abans de la versió 3.3 de Python es feia servir la [[https://virtualenv.pypa.io/en/latest/ | + | <WRAP important> |
| + | Si has creat el teu '' | ||
| + | </ | ||
| - | * Necessitem Python | + | Abans de la versió |
| - | * A més, necessitem | + | |
| + | * Necessitem | ||
| * Ara podrem instal·lar el paquet '' | * Ara podrem instal·lar el paquet '' | ||
| * Podem comprovar les llibreries instal·lades en el sistema operatiu fent< | * Podem comprovar les llibreries instal·lades en el sistema operatiu fent< | ||
| Línia 36: | Línia 62: | ||
| Això ens crearà una carpeta '' | Això ens crearà una carpeta '' | ||
| - | \\ | + | ===== Utilitzant sudo ===== |
| + | <WRAP tip> | ||
| + | Aquestes ordres d' | ||
| - | ===== Utilitzant virtualenv ===== | + | **Per treballar com a desenvolupador NO cal fer '' |
| - | Activem el virtualenv: | + | Si estem en producció, potser cal algun cop (quan estem en carpetes del sistema), però estigueu atents a fer-ho quan sigui necessari i no fer-ho perquè sí o perquè la instrucció no funciona sense examinar perquè no va. |
| - | $ source envtest/bin/ | + | **La gestió del permisos i propietat dels arxius és fonamental per a la seguretat**. |
| + | </WRAP> | ||
| - | Veureu que el //prompt// ara indica el nom del '' | + | \\ |
| - | (envtest) $ pip3 freeze | + | ===== Utilitzant |
| - | + | ||
| - | Podem instal·lar la primera llibreria, per exemple: | + | |
| - | + | ||
| - | (envtest) $ pip3 install flask | + | |
| - | + | ||
| - | Si comproveu amb '' | + | |
| - | + | ||
| - | En qualsevol moment podem sortir del nostre '' | + | |
| - | | + | * Activem el virtualenv:< |
| + | * Veureu que el //prompt// ara indica el nom del '' | ||
| + | * Podem instal·lar la primera llibreria, per exemple:< | ||
| + | * Si comproveu amb '' | ||
| + | * En qualsevol moment podem sortir del nostre '' | ||
| \\ | \\ | ||
| Línia 64: | Línia 89: | ||
| <file requirements.txt> | <file requirements.txt> | ||
| - | certifi==2019.6.16 | + | click==8.0.3 |
| - | | + | Flask==2.0.2 |
| - | | + | importlib-metadata==4.8.1 |
| - | | + | itsdangerous==2.0.1 |
| - | django-admin-select2==1.0.1 | + | Jinja2==3.0.2 |
| - | | + | MarkupSafe==2.0.1 |
| - | | + | pkg-resources==0.0.0 |
| - | | + | typing-extensions==3.10.0.2 |
| - | | + | Werkzeug==2.0.2 |
| - | | + | zipp==3.6.0 |
| - | | + | |
| - | httplib2==0.18.0 | + | |
| - | idna==2.8 | + | |
| </ | </ | ||
| \\ | \\ | ||
| - | ===== Creant arxiu requirements.php ===== | + | ===== Creant arxiu requirements.txt ===== |
| Per crear l' | Per crear l' | ||
| - | | + | < |
| Recordeu incloure '' | Recordeu incloure '' | ||
| - | | + | < |
| \\ | \\ | ||
| Línia 93: | Línia 115: | ||
| Si estem posant en marxa un projecte que acabem de descarregar, | Si estem posant en marxa un projecte que acabem de descarregar, | ||
| - | - Primer caldrà crear un '' | + | - Si cal, creem un '' |
| + | - Activem el '' | ||
| - Ara ja podem carregar les llibreries:< | - Ara ja podem carregar les llibreries:< | ||
| \\ | \\ | ||