Contenido del curso
Contenido del curso
Compatibilidad de Selenium con Python 3.9
¡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í:
¿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
Si trabajas en Windows puedes poner lo siguiente:
#Crear py -m venv nameOfVirtualEnv #Activar .\nameOfVirtualEnv\Scripts\activate #Desactivar deactivate
Te sugiero que, si trabajas en Windows, uses una terminal basada en Unix como Cmder o un WSL. Además, el Curso de Introducción a la Terminal y Línea de Comandos te viene perfecto para dominar la terminal.
Se muestran errores en la terminal, ¿qué hago?
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.
pip install selenium==4.1.3 sudo apt-get install python3.9-venv
¡Listo, ya puedes seguir con el curso! Existen otros instaladores como pyenv. Pero con pip puedes hacer cosas muy avanzadas.
Te animo a revisar el Curso de Python Intermedio: Comprehensions, Lambdas y Manejo de Errores en donde se explican los ambientes virtuales y más cosas interesantes sobre Python.
Jose Antonio Rojas Ollarves
Irving Daniel Reyes Elizondo
Marco Antonio Márquez Saucedo
David Andrés Valero Vanegas
Israel Enrique Rivero Martinez
Juan Sarmiento
Paul Gerardo Verlaine Vasquez
Jhony Robles
Darían Rafael Sánchez Muñoz
Sergio Carrillo
Juan Diego Luque Linares
Luis Adolfo Ramírez Inciarte
Jose David Ballesteros Paternina
Gersom Gezzer García Sánchez
Gersom Gezzer García Sánchez
Miguel Angel Martelo Quiroz
Camilo Cadavid Cardona
Camilo Cadavid Cardona
Héctor Daniel Vega Quiñones
Omar Daniel Centeno
Sebastián Andrade
Héctor Daniel Vega Quiñones
Sebastián Andrade
Omar Daniel Centeno
Flor Dulcinea Peña Campos
Valentin Francisco Blanco
Omar Daniel Centeno
Santiago Caldevila
Carlos Fernando Aguilar González
Leslie Paz Ore
Carlos Fernando Aguilar González
Kevin Alexander Ramírez Rodríguez
francisco ecatl melo valle
Mauricio Gonzalez Falcon
Henry Americo Parejas Espinoza
Héctor Eduardo López Carballo
Ismael Danilo Herrera Sánchez
Geovanni Atavales Quiroga
Hugo Gomez Tinoco
Adrian Posada Gonzalez
Hubiese sido mejor hacer una clase con un video que con este tipo articulos aveces suelen ser demasiado pesados, largos y no muy bien entendidos
Creo que estos son como "paraches" que meten despues para actualizar los cursos.
Creo que está bien para que puedas copiar los comandos, quizás solo sería meter videos entre el texto
Yo hice lo siguiente para Windows:
Desde la consola instalé virtualenv:
py -m pip install --user virtualenv
Luego creo el entorno virtual con la versión de Python que quiera:
virtualenv env -p python3.8
para activar el entorno es:
source env\Scripts\activate
Y por último se verifica la versión de Python instalada:
python --version
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.
sin importar la version que tengas, usas el comando:
brew install openssl readline sqlite3 xz zlib.
a mi con eso me salio
Me funciono, gracias.
llevo ya 3 dias en estooo no me funciona nada :(
Hola Darian ¿Qué problema tienes? Dime que OS estás utilizando.
estoy en las mismas, estoy intentando usar pip pero no me funciona :c quiero instalar la version 3.8.6 pero no me da
Si quieren hacerlo para WINDOWS:
python -m venv mi_entornomi_entorno\Scripts\activatePython 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:
venv o env como los nombres del entorno virtual.mi_entorno\Scripts\activate.bat, es exactamente lo mismo.Otra forma de crear nuestro entorno virtual es la siguiente:
Linux
Primeramente antes de descargar e instalar un paquete, es recomendable actualizar :
sudo apt-get update sudo apt-get upgrade
Luego, se procede a instalar el paquete de venv, el cual nos ayudará a crear un entorno virtual:
sudo apt install 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
(env) jose@DESKTOP-2TGK3KT:~/personalProyect/selenium-python$ pip install selenium
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.
(en Mac)
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'.
Excelente aporte compañero, muchas gracias!!!
VENV con Python 3.7.9 en Windows
C:\Users\user\AppData\Local\Programs\Python\Python37\python.exe -m venv venv
LISTO! solo debes verificar la versión del python cuando actives el entorno virtual
ESTA CLASE ES UN CUELLO DE BOTELLA.
para cuando un video generalizando la instalación?
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.
Hay algun problema si uso el "pyhton3 -m venv venv" en lugar de pyenv como entorno virtual?
No hay ningún problema, también puedes usar pipenv si así lo prefieres ,es cuestión de gustos :)
Gracias Hector, primera vez que el mismo profesor me responde jaja
Para quienes tienen MacOS...
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
brew install xz
!Imgur Después corre el siguiente comando:
echo -e 'export SDKROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk MACOSX_DEPLOYMENT_TARGET=10.14' >> ~/.bash_profile
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.6 python --version # (Python 3.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
Gracias por el tip... pero no me funcionó.... obtuve:
configure: error: Unexpected output of 'arch' on OSX make: *** No targets specified and no makefile found. Stop. BUILD FAILED (OS X 11.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.
miniconda: https://docs.conda.io/projects/conda/en/latest/user-guide/install/windows.html Como usarlo: https://www.youtube.com/watch?v=aE7qxfgubS8&t=145s
Voy a probar, muchas gracias
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
Hola
Quiero instalar la versión 3.8.6 de Python pero la terminal me muestra el siguiente error:
¿Cómo podría corregirlo? Muchas gracias de antemano.
Prueba con alguna de estas soluciones: https://stackoverflow.com/questions/55380296/how-to-fix-error-errno-2-no-such-file-or-directory-c-program-files-pytho
Hola Leslor
Muchas gracias por el recurso. Probé con las siguientes instrucciones del enlace que me compartiste:
In Anaconda prompt type these commands:
conda remove anaconda conda update python conda list --show-channel-urls | findstr python python -m venv venv
Pero ahora aparece este mensaje:
¿Qué crees que me falta?
Muchas gracias
buenos dias este es mi codigo pero no me esta sirviendo
import unittest from pyunitreport import HTMLTestRunner from selenium import webdriver
class HellWorld(unittest.TestCase):
def setUp(self): self.driver = webdriver.Chrome(executable_path= r"./chromedriver.exe") driver = self.driver driver.implicitly_wait(10) def test_hell_world(self): driver = self.driver driver.get('https://platzi.com') def tearDown(self): self.driver.quit() if __name__ == "__main__": unittest.main(verbosity= 2, testRunner = HTMLTestRunner(output ='reportes', report_name = 'hell-world-report'))
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
Entiendo que selenium no funcionaba con Python3.9 pero la versión no se ha actualizado ya para poder usar la versión de Python actual?
Alguien en windows pudo realizar porque me sale error y ya instale la version 3.8 de phyton y no puedo instalar el pyenv puede ayudar profesor
Hola! Cuál es el error que te sale?
Esto tal vez te ayude: https://github.com/pyenv/pyenv-installer ponle atención a la parte de prerrequisitos.
Para windows, la terminal se debe abrir como administrador👍
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:
Name Version Build Channel
selenium 3.141.0 py38h27cfd23_1000
Y listo, puedes sequir con el curso
genial, me funciono bien