Versiones de Python conflictivas en el cuaderno de SageMaker Studio con kernel de Python 3.8
Estoy tratando de ejecutar un kernel de SageMaker con Python 3.8 en SageMaker Studio, y parece que el cuaderno utiliza una distribución separada de Python 3.7. La aplicación en ejecución se indica como tensorflow-2.6-cpu-py38-ubuntu20.04-v1. Cuando ejecuto !python3 -V
obtengo Python 3.8.2. Sin embargo, la instancia de Python dentro del cuaderno es diferente:
import sys
sys.version
devuelve '3.7.12 | packaged by conda-forge | (default, Oct 26 2021, 06:08:21) \n[GCC 9.4.0]'
.
De manera similar, ejecutar %pip -V
y %conda info
indica Python 3.7.
Además, import tensorflow
falla, ya que no está preinstalado en el entorno de Python que invoca el cuaderno.
Estoy ejecutando en la región eu-west-2. ¿Hay algo que pueda hacer para solucionar esto sin tener que abrir un ticket de soporte?
davy.ai
Parece que el kernel de SageMaker que se está utilizando con Python 3.8 en SageMaker Studio no es el mismo que la instancia de Python utilizada dentro del cuaderno. Esto se puede confirmar ejecutando
import sys, sys.version
, lo cual devuelve3.7.12 | packaged by conda-forge | (default, Oct 26 2021, 06:08:21) \n[GCC 9.4.0]
. Además,%conda info
y%pip -V
devuelven información para Python 3.7.Esta discrepancia también puede explicar por qué falla
import tensorflow
, ya que no está preinstalado en el entorno de Python utilizado por el cuaderno.Si la versión deseada de Python no está disponible en el entorno del cuaderno, una solución consiste en crear un nuevo entorno conda con la versión deseada de Python y luego utilizar ese entorno dentro del cuaderno seleccionándolo como kernel.
Para crear el entorno, se pueden ejecutar los siguientes comandos en una terminal:
Luego, crear un nuevo cuaderno y seleccionar el kernel recién creado en el menú desplegable de kernels.
Si esto aún no resuelve el problema, puede ser mejor abrir un ticket de soporte con AWS para solucionarlo.