답변:
해결책은 conda 환경을 비활성화 한 다음 tmux를 시작한 다음 tmux 내부의 환경을 다시 활성화하는 것 같습니다.
다음은 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
올바른 경로를 가리 킵니다.
이 동작은 ~/.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를 조작하는 두 블록을 주석 처리하는 것입니다 ~/.profile
.
편집 (2019/09/24) : TMux가 로그인 쉘을 생성하지 않고 정상적인 쉘을 생성하도록 구성하는 것이 더 좋습니다. 링크 된 질문에 대한 답변을 참조하십시오.
tmux가 항상 rc뿐만 아니라 쉘의 프로파일을 호출한다는 것을 알았습니다. 따라서 bash를 사용하는 경우 / etc / profile을 호출하면 path_helper가 호출됩니다.
이 문제를 해결하려면 다음으로 변경 /etc/profile
하십시오.
if [[ -z $TMUX ]] && [ -x /usr/libexec/path_helper ]; then
eval `/usr/libexec/path_helper -s`
fi
당신이 떠들썩한 파티를 사용하는 경우, 또한 어떤 변경 export PATH=$PATH:/foo
에 .bashrc
에
if [[ -z $TMUX ]]; then
export PATH=$PATH:/foo
fi
그런 다음 터미널을 다시 시작하십시오 (예 : Iterm). 모든 것이 좋을 것입니다!