¡Es aquí cuando das un gran paso en tu camino para convertirte en una developer profesional! Al crear un ambiente virtual estás aislando tu proyecto del resto de tu computadora y haciendo que funcione con módulos independientes. Es decir, para llevar este curso puedes tener una versión de Python y Selenium y para hacer otro proyecto puedes tener versiones distintas. Esto hace que los proyectos no se rompan.
Usualmente, sin hacer uso de ambientes virtuales, los proyectos en tu computadora se verían así:
Pero, al organizarlo profesionalmente, tus proyectos aislados en ambientes virtuales se verían de esta forma:
¿Cómo crear y activar un ambiente virtual?
Primero veamos cómo hacerlo en sistemas basados en Unix como Linux y MacOS.
Te ubicas en la carpeta root del proyecto y corres los siguientes comandos:
#Para crear el ambiente virtual
python3 -m venv nameOfVirtualEnv
#Luego lo tienes que activar
source nameOfVirtualEnv/bin/activate
#Lo puedes desactivar así
deactivate
Tranquila, tranquilo. Los errores son tus amigos. Si te sale un error, lee, interpreta o googlea. Al final actúa racionalmente. Pero lo más probable es que haya errores por no tener paquetes descargados o no tener Python actualizado. Soluciónalo así:
sudo apt update
sudo apt -y upgrade
#Instalando el módulo para ambientes virtuales
sudo apt-get install python3.8-venv #o python3.9-venv según la versión
Instalando dependencias
Ahora que ya sabes qué es un ambiente virtual, cómo crearlo y cómo activarlo, llegó la hora de instalar dependencias usando pip. En el caso particular del curso, instalaremos Selenium en su versión más actualizada que es 4.1.1 y Python 3.9. Puedes ver el historial de versiones de Selenium y su compatibilidad con las versiones de Python dando click aquí.
Recuerda tener activado el ambiente virtual. Luego pones esto en la terminal.
Tambien puedes crear tu ambiente virtual con el siguiente comando:
py -m virtualenv env -p python3.8
Para activarlo desde powershell o cmd:
env\Scripts\activate.bat
a mi esta explicacion me parecio muy confusa y no me sirvio. si alguien tiene el mismo problema y usa MacOS < Mojave. les recomiendo ver le video del profe David.
Abran el CMD y ubíquense en la carpeta en donde quieran crear el entorno virtual
Ejecuten python -m venv mi_entorno
Ejecuten mi_entorno\Scripts\activate
LISTO. Ya tienen su entorno virtual activado y funcional.
Python tiene su propio módulo estándar para crear entornos virtuales y eso fue exactamente lo que usamos al ejecutar python -m venv mi_entorno para crear el entorno virtual. Pueden ver más en la documentación haciendo click aquí. En windows ese módulo viene instalado por defecto al instalar python, pero en linux hay que instalar python3-venv en caso de tener instalado el paquete python3. En caso de tener un paquete de una versión de python específica como por ejemplo python3.9, tendrían que instalar python3.9-venv y usarían python3.9 -m venv mi_entorno por ejemplo... y si el comando que usan para python es python3, lo mismo, python3 -m venv mi_entorno.
PD:
Por cierto, es una buena práctica usar venv o env como los nombres del entorno virtual.
Pueden activar el entorno virtual también haciendo mi_entorno\Scripts\activate.bat, es exactamente lo mismo.
Sugiero que el comentario de "todo lo que instales a través de pip debe ser en un entorno virtual"
deben de ponerlo en la clase anterior.
Ni siquiera el profesor lo instala en un ambiente virtual.
Para desinstalar pyunitreport:
pip3 uninstall pyunitreport
Para desinstalar selenium:
pip3 uninstall selenium
Para crear un virtual environment llamado 'venv' en la carpeta actual:
python3 -m venv venv
Para activar el virtual environment 'venv' de la carpeta actual:
source venv/bin/activate
Una vez activado, instalar selenium y pyunitreport.
Para verificar que están instalados:
pip3 freeze
Para salir del virtual environment:
deactivate
Una vez que saliste del virtual environment puedes ejecutar nuevamente pip3 freeze para comprobar que ni selenium ni pyunitreport fuerton instalados en el 'ambiente global'.
Hola, Camilo.
Entiendo que esta clase pueda ser algo compleja por su naturaleza y espero en una próxima renovación del curso poderla explicar en video :)
Me costó más trabajo del que pensaba, según yo ya tenía instalado Homebrew pero resultó que no (alguna actualización de iTerm quizá lo desinstaló). Debido a esto los comandos no corrían.
Tuve que instalar Homebrew de nuevo, reiniciar terminal.
Gracias por el tip... pero no me funcionó.... obtuve:
configure: error:Unexpected output of'arch' on OSXmake:***No targets specified and no makefile found.Stop.BUILDFAILED(OSX11.0.1 using python-build 1.2.24.1)```
Les recomiendo fuertemente miniconda. Al igual que pyenv, maneja gestión de paquetes y entornos virtuales. la ventaja es que facilita mucho el proceso visto acá arriba y esta disponible para windows, linux y mac.
Consejo: si te estas volviendo loco hay una aplicación de escritorio que se encarga de gestionar entornos virtuales de Python que se llama anaconda, con eso lo resolves en dos segundos
Te sale algun error?
Copie tu codigo y en maquina funciono correctamente
me abre platzi y genera el reporte sin problemas.
talvez tengas errores en la identacion
Para los que descargaron CONDA en cursos anteriores aquí va mi aporte para el entorno virtual; si también aprendieron mamba en el curso de Jupyter Notebooks se reemplaza el primer comando por mamba en vez de conda y listo
>conda create -n seleniumEnv python=3.8 selenium
conda activate seleniumEnv
pip3 install pyunitreport
#Luego para verificar que tienes los 3 instalados y python en la versión correcta utilizas
>conda list pyunitreport
conda list selenium
conda list python
Te saldrá la versión de cada paquete instalado
packages in environment at /home/hugo/anaconda3/envs/selenp:
Otra forma de crear nuestro entorno virtual es la siguiente:
Linux
Primeramente antes de descargar e instalar un paquete, es recomendable actualizar :
sudoapt-get update
sudoapt-get upgrade
Luego, se procede a instalar el paquete de venv, el cual nos ayudará a crear un entorno virtual:
sudoaptinstall python3-venv
Lo siguiente será crear nuestro entorno virtual
python -m venv env#env es el nombre de nuestro entorno virtual ó carpeta donde estará esta mismo
Se procede a activar el ambiente virtual con el siguiente comando. Es importante saber en que carpeta se encuetra:
# en mi caso se encuentra en la siguiente direccion:jose@DESKTOP-2TGK3KT:~/personalProyect/selenium-python$ source /env/bin/activate
source /env/bin/activate # Este es el comando que nos ayudará a activar nuestro entorno
Luego nos aparecerá de esta forma:
(env) jose@DESKTOP-2TGK3KT:~/personalProyect/selenium-python$
#Se puede apreciar que el entorno esta activado ya que tenemos (env) al principio.
Y listo, ya puedes empezar a instalar las diferentes librerías a tu entorno virtual con pip, el cual es un sistema de gestión de paquetes utilizado para instalar y administrar paquetes de software
Puede que tengan el siguiente error al intentar instalar una versión diferente:
ModuleNotFoundError:No module named 'pyexpat'
Esto se debe a que no tenemos Xcode instalado, sin embargo, no quieres instalar un paquete que no usarás y que pesa más de 7 GB dependiendo la versión.
!Imgur
Importante: Entre cada paso asegúrate de reiniciar la terminal.
!Imgur
Así que puedes hacer lo siguiente:
!Imgur
Este comando está para MacOS 10.14 Mojave, pero puedes modificarlo.
!Imgur
Por último instala la versión de python que quieras:
pyenv install 3.8.6
!Imgur
Una vez que logramos instalar la versión de Python correctamente podemos continuar con la creación de un ambiente local con las instrucciones de esta clase.
pyenv local 3.8.6python --version
# (Python3.8.6)
!Imgur
P.D. Si te sale otro tipo de error mencionando los Command line tools corre el siguiente código:
xcode-select --install
Se abrirá una ventada que te pedirá instalar los comandos, solo dale a instalar. No instales Xcode.
!Imgur
P.D. 2: Esta solución la encontré en el siguiente artículo de Medium