Condaがbashでは動作しますが、tmuxでは失敗するのはなぜですか?

Condaがbashでは動作しますが、tmuxでは失敗するのはなぜですか?

tmux内で既存の環境を有効にしようとすると、新しく設定されたcondaが失敗します。明らかにcondaバイナリを見つけましたが、コマンドを実行できませんでした。 Bashでは期待どおりに動作します。

スピード:

  1. バッシュを開く

  2. conda activateがbashで動作していることを確認してください。

  3. tmuxを開く

  4. tmuxでconda activateを実行すると、出力は次のようになります。

    xxx@xxx:~$ conda activate CommandNotFoundError: シェルが "conda activate" を使用するように正しく構成されていません。シェルを初期化するには、次を実行します。

     $ conda init <SHELL_NAME>
    

    現在サポートされているシェルは次のとおりです。

    • 強く打つ
    • tcsh
    • ジェンシー
    • 扱いにくい
    • 電源装置ハウジング

    詳細とオプションについては、「conda init --help」を参照してください。

    重要:「conda init」を実行した後、シェルを閉じて再起動する必要があるかもしれません。

答え1

ここで解決策を見つけました質問

問題は、対話型ログインシェルを持つサーバーでtmuxを実行していることです。詳細については、次を参照してください。.bashrcと.bash_profile。この場合、Bashは.bash_profileのみを開きます。したがって、これはこの問題に対する2つの解決策があることを意味します。

  1. .bash_profileから.bashrcを取得します。たとえば、add

     if [ -f ~/.bashrc ]; then
         . ~/.bashrc
     fi
    
  2. conda 初期化コードブロックを .bashrc から .bash_profile に移動します。

編集:Kusalalanandaのコメントを更新しました。説明してくれてありがとう。

関連情報