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:30] enrique_mieza_sanchez |
python_venv [2024/06/25 18:30] (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 '' |
+ | < | ||
- | ===== Virtualenv ===== | + | Típicament |
- | Abans de la versió 3.3 de Python es feia servir la [[https:// | + | < |
- | Necessitem Python 3, que ja sol venir instal·lat. Si no fos així, pots instal·lar-ho amb: | + | Veurem |
- | $ sudo apt install python3 | + | \\ |
- | A més, necessitem | + | ===== Virtualenv ===== |
+ | <WRAP important> | ||
+ | Si has creat el teu '' | ||
+ | </WRAP> | ||
- | $ sudo apt install python3-pip | + | Abans de la versió 3.3 de Python es feia servir la [[https:// |
- | Ara podrem instal·lar el paquet '' | + | * Necessitem '' |
+ | * Ara podrem instal·lar el paquet '' | ||
+ | * Podem comprovar les llibreries instal·lades en el sistema operatiu fent< | ||
+ | * Podem crear ara, un entorn de test:< | ||
- | $ sudo pip3 install virtualenv | + | Això ens crearà una carpeta '' |
- | Podem comprovar les llibreries instal·lades en el sistema operatiu fent | + | ===== Utilitzant sudo ===== |
+ | <WRAP tip> | ||
+ | Aquestes ordres d' | ||
- | $ pip3 freeze | + | **Per treballar com a desenvolupador NO cal fer '' |
- | Podem crear ara, un entorn de test: | + | 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. |
- | $ virtualenv envtest | + | **La gestió del permisos |
- | + | </ | |
- | Això ens crearà una carpeta '' | + | |
\\ | \\ | ||
Línia 54: | Línia 77: | ||
===== Utilitzant virtualenv ===== | ===== Utilitzant virtualenv ===== | ||
- | Activem el virtualenv: | + | * 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 76: | Línia 87: | ||
===== requirements.txt ===== | ===== requirements.txt ===== | ||
Una bona pràctica habitual en els projectes desenvolupats en Python és disposar d'un arxiu '' | Una bona pràctica habitual en els projectes desenvolupats en Python és disposar d'un arxiu '' | ||
+ | |||
+ | <file requirements.txt> | ||
+ | click==8.0.3 | ||
+ | Flask==2.0.2 | ||
+ | importlib-metadata==4.8.1 | ||
+ | itsdangerous==2.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 | ||
+ | </ | ||
\\ | \\ | ||
- | ===== Creant arxiu requirements.php ===== | + | ===== Creant arxiu requirements.txt ===== |
Per crear l' | Per crear l' | ||
- | | + | < |
Recordeu incloure '' | Recordeu incloure '' | ||
- | | + | < |
\\ | \\ | ||
Línia 91: | 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:< | ||
\\ | \\ | ||