Los ambientes virtuales se ubican dentro de una carpeta principal que en este caso mi carpeta contenedora del proyecto será PROJECT_VENV 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:

{% set i %} python3 -m venv init_venv {% endset %} {% with codigo=i.strip() %}{% include 'components/copy-code.html' %}{% endwith %}
{% set ii %} python -m venv init_venv {% endset %} {% with codigo=ii.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

Una vez creado el ambiente virtual debemos activarlo para poder instalar las dependencias necesarias:

{% set iii %} source init_venv/bin/activate {% endset %} {% with codigo=iii.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

Cuando actives el ambiente verás en consola una salida muy similar a esta:

{% set iv %} .\init_venv\Scripts\activate {% endset %} {% with codigo=iv.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

Cuando actives el ambiente verás en consola una salida muy similar a esta:

En este punto nuestro ambiente virtual está en blanco, no tenemos nada instalado, si queremos confirmarlo podemos ejecutar el comando:

{% set v %} pip freeze {% endset %} {% with codigo=v.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

La salida del comando anterior no retornará nada por lo tanto sabemos que no hay nada instalado, para instalar por ejemplo pandas en ambos casos el comando base para instalar en windows y linux es exactamente el mismo, pip install:

{% set vi %} pip install pandas {% endset %} {% with codigo=vi.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

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:

si vuelves a ejecutar el comando pip freeze podrás ver ahora si todas las dependencias que se han instalado:

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:

{% set vii %} code . {% endset %} {% with codigo=vii.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

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 "Python Environments..."

Despues selecciona el ambiente que este caso es "init_venv (Python 3.12.4)".

Para desactivar el ambiente virtual en Windows o Linux solo necesitas ejecutar en la terminal el comando deactivate.

{% set viii %} deactivate {% endset %} {% with codigo=viii.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

Si llegaras a necesitar más dependencias, primero debes regresar a la consola e instalarlas ejecutar el comando base pip install nombre_dependencia y despues importarlas en tus archivos de python.

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:

{% set ix %} pip freeze > requirements.txt {% endset %} {% with codigo=ix.strip() %}{% include 'components/copy-code.html' %}{% endwith %}

Del comando anterior lo que hace es que pip freeze lista las dependencias instaladas y requirements.txt 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

{% set x %} PROJECT_VENV | -- main.py -- requirements.txt {% endset %} {% with btn=false, codigo=x.strip() %} {% include 'components/copy-code.html' %} {% endwith %}