tmux로 인해 아나콘다가 다른 Python 소스를 사용하게 됩니다.

tmux로 인해 아나콘다가 다른 Python 소스를 사용하게 됩니다.

좋아, 아나콘다 환경에서 어떤 Python을 실행했는지 확인했습니다.

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

이제 tmux를 시작한 다음 source activate env1을 실행하면 어떤 Python을 얻게 될까요?

/home/comp/anaconda3/bin/python

내 환경을 활성화하더라도. 아나콘다가 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

이 동작 은 ~/.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를 구성하는 것 같습니다. 연결된 질문에 대한 답변을 참조하세요.

답변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올바른 경로를 가리킵니다.

관련 정보