UCRT64/MSYS2 ZSH 環境での Conda の呼び出し

1. 問題提起

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

\r, \n, \r\nこの問題は、等号をMSYS2正確に認識できないことが原因で、設定
後に発生します。eval "$('/d/miniconda3/Scripts/conda.exe' 'shell.zsh' 'hook')"

ここに画像の説明を挿入します

  • 質問 2 のcondaコマンドは使用できません:UnicodeEncodeError: 'gbk' codec can't encode character '\u279c'

この問題は、質問 1 の構成を変更し、condaコマンドをUCRT64環境に正常に追加した後に発生します。

# >>> 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 <<<

ここに画像の説明を挿入します

2. 問題の分析と解決策

  • 問題の原因
    エラーメッセージから判断すると、condaコマンドが使用できない原因はエンコードにあると考えられます。つまり、MSYS2エンコードされた環境変数は です。この問題を解決するには、使用時にエンコードされた環境変数を正しく設定するgbkだけで済みます。condaコマンドです。それだけです。
  • この問題を解決するには、エイリアス メカニズム
    を使用し、コマンドの呼び出し時にエンコーディングを構成します。zshcondapython
  • 変更されたzsh構成
# >>> 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"
  • 効果
    結果は、condaコマンドが正常に使用され、miniconda完全に有効になっていることがわかります。

ここに画像の説明を挿入します

3. その他

  • 実際、でWndowsTerminal設定する場合MSYS2、システム内の既存の環境変数を直接読み込むことができるため、この問題は存在しない可能性があります。
  • 2つの環境を分離する目的で、作者は環境変数を設定してさまざまな環境変数をロードしているため、このアイデアは検証されていません。
  • この方法を使用する前に、自分にとって許容できる新しいバージョンを使用するよう最善を尽くしてくださいconda。この問題の発生は、condaそれ自体に関連している可能性もありますbug。更新すると、潜在的な問題が解決される可能性があります。

参考文献

  1. MSYS2 と Anaconda3 をインストールしましたが、MSYS2 で conda を使用するにはどうすればよいですか?
  2. MSYS2 および Zsh での Windows の Conda の問題解決
  3. MSYS2 および Zsh での Windows の Conda 行末の問題 #9922
  4. Conda: UnicodeEncodeError: 'charmap' コーデックは位置 644 の文字 '\u2580' をエンコードできません: 文字は次のようにマップされます
  5. cmder ラムダ文字が conda エンコーダー/デコーダーで処理されないため、conda 環境をアクティブ化/非アクティブ化できません #7445
  6. Git Bash で Conda 環境をアクティブ化できない

おすすめ

転載: blog.csdn.net/Y1575071736/article/details/130337319