![tmux により、Anaconda は別の Python ソースを使用するようになります](https://rvso.com/image/112014/tmux%20%E3%81%AB%E3%82%88%E3%82%8A%E3%80%81Anaconda%20%E3%81%AF%E5%88%A5%E3%81%AE%20Python%20%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99.png)
さて、私はアナコンダ環境でwhich pythonを実行しました。
/home/comp/anaconda3/envs/env1/bin/python
tmuxを起動し、source activate env1を実行してからwhich pythonを実行すると、
/home/comp/anaconda3/bin/python
環境はアクティブ化されていますが、anaconda に tmux 内の同じパスを認識させるにはどうすればよいですか?
答え1
解決策としては、conda 環境を非アクティブ化してから tmux を起動し、tmux 内で環境を再アクティブ化することのようです。
答え2
私も同じ問題を抱えていましたが、 にロードするたびに Conda を非アクティブ化およびアクティブ化する必要があるため、どの解決策も気に入りませんでしたtmux
。そのため、代わりに以下のものを に追加しました.tmux.conf
。
重要な編集: このコードは私の場合は機能します。現在、zsh シェルを実行しており、ここに設定が保存されています。標準シェルは異なる場合があります。シェルの場所を見つけるには、 コマンドを使用しecho "$SHELL"
、/bin/zsh
私の回答の を独自のシェル パスに置き換えてください。
set -g default-command "/bin/zsh"
完了したら、.tmux.conf
ファイルをリソースするだけで変更が有効になります。これにより、 Conda を含むtmux
すべての設定を読み込むことができるようになります.bash_profile
。
答え3
~/.profile
この動作は、 の代わりにTMux ソースによって発生します~/.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
Tmux セッションを開始した後 (conda にアクティブな環境がない場合)、次のことが起こります。
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
正しいパスを指しています。