195 lines
7.5 KiB
HTML
195 lines
7.5 KiB
HTML
<!-- 14 -->
|
|
<p>
|
|
Los <a class="link" data-bs-toggle="modal" data-bs-target="#venv">ambientes virtuales</a> se ubican dentro de una
|
|
carpeta principal que en este caso mi
|
|
carpeta contenedora del proyecto será <b>PROJECT_VENV</b> la cual contendrá toda la información del proyecto, desde
|
|
dependencias y código fuente de la aplicación,
|
|
para este ejemplo crearemos una carpeta llamada init_venv con la ayuda de VENV:
|
|
</p>
|
|
|
|
<ul class="nav nav-tabs" id="myTab" role="tablist">
|
|
<li class="nav-item">
|
|
<a class="nav-link active" id="linux-tab" data-toggle="tab" href="#linux" role="tab" aria-controls="linux"
|
|
aria-selected="true"><i class="fa-brands fa-linux"></i> Linux - Ubuntu</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" id="windows-tab" data-toggle="tab" href="#windows" role="tab" aria-controls="windows"
|
|
aria-selected="false"><i class="bi bi-windows"></i> Windows</a>
|
|
</li>
|
|
</ul>
|
|
<div class="tab-content" id="myTabContent">
|
|
<div class="tab-pane fade active show" id="linux" role="tabpanel" aria-labelledby="linux-tab">
|
|
<!-- {# i linux #} -->
|
|
|
|
{% set i %}
|
|
python3 -m venv init_venv
|
|
{% endset %}
|
|
{% with codigo=i.strip() %}{% include 'components/copy-code.html' %}{% endwith %}
|
|
|
|
<!-- {# f linux #} -->
|
|
</div>
|
|
<div class="tab-pane fade" id="windows" role="tabpanel" aria-labelledby="windows-tab">
|
|
<!-- {# i windows #} -->
|
|
{% set ii %}
|
|
python -m venv init_venv
|
|
{% endset %}
|
|
{% with codigo=ii.strip() %}{% include 'components/copy-code.html' %}{% endwith %}
|
|
<!-- {# f windows #} -->
|
|
</div>
|
|
</div>
|
|
<p>
|
|
Una vez creado el ambiente virtual debemos activarlo para poder instalar las dependencias necesarias:
|
|
</p>
|
|
<ul class="nav nav-tabs" id="myTab" role="tablist">
|
|
<li class="nav-item">
|
|
<a class="nav-link active" id="linux2-tab" data-toggle="tab" href="#linux2" role="tab" aria-controls="linux2"
|
|
aria-selected="true"><i class="fa-brands fa-linux"></i> Linux - Ubuntu</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" id="windows2-tab" data-toggle="tab" href="#windows2" role="tab" aria-controls="windows2"
|
|
aria-selected="false"><i class="bi bi-windows2"></i> Windows</a>
|
|
</li>
|
|
</ul>
|
|
<div class="tab-content" id="myTabContent">
|
|
<div class="tab-pane fade active show" id="linux2" role="tabpanel" aria-labelledby="linux2-tab">
|
|
<!-- {# i linux2 #} -->
|
|
|
|
{% set iii %}
|
|
source init_venv/bin/activate
|
|
{% endset %}
|
|
{% with codigo=iii.strip() %}{% include 'components/copy-code.html' %}{% endwith %}
|
|
|
|
<p>
|
|
Cuando actives el ambiente verás en consola una salida muy similar a esta: <br>
|
|
<div class="img zoomable">
|
|
<img src="/static/source_imgs/python/py_2/linux_venv_active.png" alt="">
|
|
</div>
|
|
</p>
|
|
<!-- {# f linux2 #} -->
|
|
</div>
|
|
<div class="tab-pane fade" id="windows2" role="tabpanel" aria-labelledby="windows2-tab">
|
|
<!-- {# i windows2 #} -->
|
|
|
|
{% set iv %}
|
|
.\init_venv\Scripts\activate
|
|
{% endset %}
|
|
{% with codigo=iv.strip() %}{% include 'components/copy-code.html' %}{% endwith %}
|
|
|
|
<p>
|
|
Cuando actives el ambiente verás en consola una salida muy similar a esta: <br>
|
|
<div class="img zoomable">
|
|
<img src="/static/source_imgs/python/py_2/win_venv_active.png" alt="">
|
|
</div>
|
|
</p>
|
|
<!-- {# f windows2 #} -->
|
|
</div>
|
|
</div>
|
|
<p>
|
|
En este punto nuestro ambiente virtual está en blanco, no tenemos nada instalado, si queremos confirmarlo podemos
|
|
ejecutar el comando:
|
|
</p>
|
|
|
|
{% set v %}
|
|
pip freeze
|
|
{% endset %}
|
|
{% with codigo=v.strip() %}{% include 'components/copy-code.html' %}{% endwith %}
|
|
|
|
<p>
|
|
La salida del comando anterior no retornará nada por lo tanto sabemos que no hay nada instalado, para instalar por
|
|
ejemplo <b>pandas</b> en ambos casos el comando base para instalar en windows y linux es exactamente el mismo, pip
|
|
install:
|
|
</p>
|
|
|
|
{% set vi %}
|
|
pip install pandas
|
|
{% endset %}
|
|
{% with codigo=vi.strip() %}{% include 'components/copy-code.html' %}{% endwith %}
|
|
|
|
<p>Cuando instalemos pandas veremos que se instalarán además de pandas tambien se agragan las dependencias básicas para
|
|
que funcione pandas y la salida del comando debe ser algo muy similar a esta:</p>
|
|
<div class="img zoomable">
|
|
<img src="/static/source_imgs/python/py_2/pip_install_pandas.png" alt="">
|
|
</div>
|
|
<p>
|
|
si vuelves a ejecutar el comando <b>pip freeze</b> podrás ver ahora si todas las dependencias que se han instalado:
|
|
</p>
|
|
<div class="img zoomable">
|
|
<img src="/static/source_imgs/python/py_2/pip_freeze.png" alt="">
|
|
</div>
|
|
<p>
|
|
Ahora si, en este supuesto que solo necesitaras pandas ya podrás empezar a trabajar en tu proyecto sin problemas,
|
|
dentro de tu carpeta y con el ambiente activo
|
|
deberás de abrir tu editor de código en mi caso VS Code y el comando es:
|
|
</p>
|
|
|
|
{% set vii %}
|
|
code .
|
|
{% endset %}
|
|
{% with codigo=vii.strip() %}{% include 'components/copy-code.html' %}{% endwith %}
|
|
|
|
<div class="img zoomable">
|
|
<img src="/static/source_imgs/python/py_2/code.png" alt="">
|
|
</div>
|
|
<p>
|
|
En tu editor de código ya podrás añadir archivos de python donde uses pandas y al momento de ejecutar el código por
|
|
primera vez, en este caso VS Code detectara que hay un ambiente activo y te pedira que selecciones el ambiente, da
|
|
click en la opción <b>"Python Environments..."</b>
|
|
</p>
|
|
<div class="img zoomable">
|
|
<img src="/static/source_imgs/python/py_2/venv1.png" alt="">
|
|
</div>
|
|
<p>
|
|
Despues selecciona el ambiente que este caso es <b>"init_venv (Python 3.12.4)"</b>.
|
|
</p>
|
|
<div class="img zoomable">
|
|
<img src="/static/source_imgs/python/py_2/venv2.png" alt="">
|
|
</div>
|
|
<p>
|
|
Para desactivar el ambiente virtual en Windows o Linux solo necesitas ejecutar en la terminal el comando
|
|
<b>deactivate</b>.
|
|
</p>
|
|
|
|
{% set viii %}
|
|
deactivate
|
|
{% endset %}
|
|
{% with codigo=viii.strip() %}{% include 'components/copy-code.html' %}{% endwith %}
|
|
|
|
<p>
|
|
Si llegaras a necesitar más dependencias, primero debes regresar a la consola e instalarlas ejecutar el comando base
|
|
<b>pip install nombre_dependencia</b> y despues
|
|
importarlas en tus archivos de python. <br><br>
|
|
Te recomiendo que siempre antes de desactivar el ambiente virtual exportes una lista de las dependencias ya que si
|
|
compartes el proyecto la carpeta donde esta
|
|
ubicado
|
|
el ambiente virtual no se comparte ya que vuelve pesado el proyecto, la buena práctica es compartir solo la lista
|
|
con todos las carpetas necesarias sin el dictorio
|
|
del ambiente virtual (init_venv), para exportar la lista de dependencias debes ejecutar el comando:
|
|
</p>
|
|
|
|
{% set ix %}
|
|
pip freeze > requirements.txt
|
|
{% endset %}
|
|
{% with codigo=ix.strip() %}{% include 'components/copy-code.html' %}{% endwith %}
|
|
|
|
<p>
|
|
Del comando anterior lo que hace es que <b>pip freeze</b> lista las dependencias instaladas y
|
|
<b>requirements.txt</b> indica que almacenará la información que salga de pip freeze en un archivo llamado
|
|
requirements.txt, para este ejemplo práctico y sencillo si compartes tu proyecto solo compartirías la carpeta
|
|
contenedora del proyecto, el archivo donde importas pandas y el archivo requirements.txt
|
|
</p>
|
|
|
|
|
|
{% set x %}
|
|
PROJECT_VENV
|
|
|
|
|
-- main.py
|
|
-- requirements.txt
|
|
{% endset %}
|
|
{% with btn=false, codigo=x.strip() %}
|
|
{% include 'components/copy-code.html' %}
|
|
{% endwith %}
|
|
|
|
|
|
|
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
|
|
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script> |