tmuxのため、anacondaは他のPythonソースを使用します。

tmuxのため、anacondaは他のPythonソースを使用します。

さて、私はアナコンダ環境でどのPythonを実行したかを確認しました。

/home/comp/anaconda3/envs/env1/bin/python

それでは、tmuxを起動してからsource activate env1を実行すると、どのPythonが得られますか?

/home/comp/anaconda3/bin/python

私の環境を活性化しても。 Anacondaがtmuxで同じパスを表示できるようにするにはどうすればよいですか?

答え1

解決策は、conda環境を無効にしてからtmuxを起動してから、tmux内で環境を再度有効にするようです。

答え2

私は同じ問題がありましたが、毎回ロードすることに関連する解決策は気に入りませんでしたtmux。だから私は私のソリューションに追加しました.tmux.conf

重要な編集:このコードは、現在の設定が保存されているzshシェルを実行しているため、私にとって効果的です。標準シェルは異なる場合があります。シェルの場所を見つけるには、このコマンドを使用し、echo "$SHELL"私の答えを/bin/zsh自分のシェルパスに置き換えます。

set -g default-command "/bin/zsh"

完了したら、変更を有効にするためにファイルに.tmux.confリソースを提供するだけです。これにより、Condaのすべての設定を読み込むtmuxことができます。.bash_profile

答え3

これは~/.profileTMuxソースの代わりに発生します~/.bashrc~/.profile

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi

あなたは見ることができます最初 ~/.bashrcソースとそれから ~/binそして~/.local/bin接頭辞付き私が直接経験したようにcondaしゃっくりが発生することがあります。

解決策は、PATHを操作する2つのブロックをコメントアウトすることです~/.profile

編集(2019/09/24):より良いアプローチは、ログインシェルを作成せずに通常のシェルのみを生成するようにTMuxを設定するようです。リンクされた質問に対する回答をご覧ください。

答え4

アクティブなconda環境なしでTmuxセッションを開始した後、次のようになります。

Tmuxセッションで初めて操作を実行するとき:

conda activate myEnv

わかりました。

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

See 'conda init --help' for more information and options.

IMPORTANT: You may need to close and restart your shell after running 'conda init'.

私がこうすれば:

source deactivate
conda activate myEnv

みんな大丈夫です。which python正しいパスを指します。

関連情報