Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

524
Vistas
No se puede activar conda env desde el script de shell

He intentado todo lo que he visto en SO para que esto funcione, pero hasta ahora todo falla. Usando macOS Big Sur 11.6, bash en Terminal (no zsh).

Estoy tratando de crear un archivo de instalación y ejecutarlo con sh setup.sh que configurará el env, instalará python y luego lo activará. Nada sofisticado. Hacerlo manualmente funciona bien, pero una vez que lo pongo en un script de shell, no funcionará. Estoy ejecutando este script desde dentro de una carpeta de proyecto vacía.

Guión actual:

 conda create -n MASTER python=3.8.5 -y conda activate MASTER

Sí, es así de simple para empezar. Comenté las otras instalaciones de pip hasta que esto funcione correctamente.

Intenté ejecutar: bash -i setup.sh pero aún no se activa. No recibo errores, pero todavía estoy atascado en (base) .

Intenté usar source: source /opt/anaconda3/etc/profile.d/conda.sh al comienzo del script y/o antes de activarlo, todavía no funciona. Sin errores de nuevo, pero atascado en (base) .

Intenté usar: eval $(conda shell.bash hook) al comienzo del script y antes de intentar activar el env, pero falla. Esta vez me sale el error:

 CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'. To initialize your shell, run $ conda init <SHELL_NAME> Currently supported shells are: - bash - fish - tcsh - xonsh - zsh - powershell

Pero si ejecuto conda init bash (en Terminal o en el script mismo), genera:

 no change /opt/anaconda3/condabin/conda no change /opt/anaconda3/bin/conda no change /opt/anaconda3/bin/conda-env no change /opt/anaconda3/bin/activate no change /opt/anaconda3/bin/deactivate no change /opt/anaconda3/etc/profile.d/conda.sh no change /opt/anaconda3/etc/fish/conf.d/conda.fish no change /opt/anaconda3/shell/condabin/Conda.psm1 no change /opt/anaconda3/shell/condabin/conda-hook.ps1 no change /opt/anaconda3/lib/python3.8/site-packages/xontrib/conda.xsh no change /opt/anaconda3/etc/profile.d/conda.csh no change /Users/liquidRock/.bash_profile No action taken.

Intenté hacer /opt/anaconda3/bin/conda activate MASTER , que también me pide que haga conda init bash .

Incluso intenté agregar #!/bin/bash en la parte superior del archivo por si acaso, pero no dado.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Gracias a @fravadona por la más simple de las soluciones.

Simplemente ejecutando el script con source en lugar de sh . 🤦🏻‍♂️

Script final setup.sh (con mis instalaciones pip preliminares):

 # env & python conda create -n MASTER python=3.8.5 -y conda activate MASTER # pip installs pip install cmake pip install --upgrade pip setuptools wheel pip install opencv-python==4.2.0.32 pip install argparse pip install datetime pip install colorama pip install python-dotenv pip install python-dotenv[cli]

Ejecutado así:

 $ source setup.sh

Anaconda crea el env, instala python y las dependencias, activa el env, luego pip instala las dependencias adicionales.

Todavía no estoy seguro de por qué no funcionará agregando otras cosas al script de shell, pero esta es una solución excelente y simple. Y sí, soy un novato con estas cosas.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda