Llamar a Conda en el entorno UCRT64/MSYS2 ZSH

1. Planteamiento del problema

  • Pregunta 1(eval):11: parse error near `^M'

La razón de este problema es que \r, \n, \r\nlos símbolos iguales no se pueden MSYS2reconocer con precisión.
Este problema ocurre después de eval "$('/d/miniconda3/Scripts/conda.exe' 'shell.zsh' 'hook')"configurar

Insertar descripción de la imagen aquí

  • El comando de la pregunta 2 condano se puede utilizar:UnicodeEncodeError: 'gbk' codec can't encode character '\u279c'

Este problema ocurre después de modificar la configuración en la pregunta 1 y condaagregar exitosamente el comando al UCRT64entorno.

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
eval "$('/d/miniconda3/Scripts/conda.exe' 'shell.zsh' 'hook' | sed -e 's/"$CONDA_EXE" $_CE_M $_CE_CONDA "$@"/"$CONDA_EXE" $_CE_M $_CE_CONDA "$@" | tr -d \x27\\r\x27/g')"
# <<< conda initialize <<<

Insertar descripción de la imagen aquí

2. Análisis y solución del problema

  • Causa del problema A juzgar
    por el mensaje de error, condala razón por la que el comando no se puede utilizar radica en la codificación. En otras palabras, MSYS2las variables de entorno codificadas son gbk. Para resolver este problema, solo necesita condaconfigurar correctamente las variables de entorno codificadas al usar el comando Eso es todo.
  • Para resolver el problema ,
    utilice zshel mecanismo de alias y configure la codificación condamientras llama al comando .python
  • zshConfiguración modificada
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
eval "$('/d/miniconda3/Scripts/conda.exe' 'shell.zsh' 'hook' | sed -e 's/"$CONDA_EXE" $_CE_M $_CE_CONDA "$@"/"$CONDA_EXE" $_CE_M $_CE_CONDA "$@" | tr -d \x27\\r\x27/g')"
# <<< conda initialize <<<
alias conda="PYTHONIOENCODING=utf8 conda"
  • Efecto
    Los resultados muestran que condael comando se usa normalmente y minicondaestá completamente habilitado.

Insertar descripción de la imagen aquí

3. Otros

  • De hecho, al WndowsTerminalconfigurar en MSYS2, puede cargar directamente las variables de entorno existentes en el sistema, por lo que es posible que este problema no exista.
  • Con el fin de aislar los dos entornos, el autor carga varias variables de entorno configurando variables de entorno, por lo que esta idea no se ha verificado.
  • Antes de utilizar este método, haga todo lo posible por utilizar una nueva versión que sea aceptable para usted conda. La aparición de este problema también puede estar relacionada con condaél mismo bug. Las actualizaciones pueden solucionar algunos problemas potenciales.

referencias

  1. He instalado MSYS2 y Anaconda3, entonces ¿cómo puedo usar conda en MSYS2?
  2. Conda en Windows bajo MSYS2 y Zsh resolución de problemas
  3. Conda en Windows bajo MSYS2 y problemas de finalización de línea Zsh #9922
  4. Conda: UnicodeEncodeError: el códec 'charmap' no puede codificar el carácter '\u2580' en la posición 644: los caracteres se asignan a
  5. No se puede activar/desactivar el entorno conda debido a que el carácter lambda del cmder no se maneja en el codificador/decodificador conda #7445
  6. No se puede activar el entorno Conda en Git Bash

Supongo que te gusta

Origin blog.csdn.net/Y1575071736/article/details/130337319
Recomendado
Clasificación