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 [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 '' | ||
+ | < | ||
+ | |||
+ | 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:< | ||
\\ | \\ | ||