![tmux está fazendo com que o anaconda use uma fonte python diferente](https://rvso.com/image/112014/tmux%20est%C3%A1%20fazendo%20com%20que%20o%20anaconda%20use%20uma%20fonte%20python%20diferente.png)
Ok, então estou em meu ambiente anaconda e executei which python. eu recebo
/home/comp/anaconda3/envs/env1/bin/python
Agora, se eu iniciar o tmux, execute source activate env1, então which python, eu recebo
/home/comp/anaconda3/bin/python
mesmo que eu tenha meu ambiente ativado. Como posso fazer o anaconda ver o mesmo caminho dentro do tmux?
Responder1
A solução parece ser desativar o ambiente conda, iniciar o tmux e reativar o ambiente dentro do tmux.
Responder2
Eu tive o mesmo problema, mas realmente não gostei de nenhuma das soluções, pois envolviam desativar e ativar o Conda toda vez que eu carregava o tmux
. Então, em vez disso, adicionei o que está abaixo ao meu .tmux.conf
:
EDIÇÃO IMPORTANTE: Este código funciona para mim, pois atualmente estou executando um shell zsh e é aqui que minhas configurações estão armazenadas. Seu shell padrão pode ser diferente. Para encontrar a localização do seu shell, use o comando echo "$SHELL"
e substitua /bin/zsh
na minha resposta pelo seu próprio caminho do shell.
set -g default-command "/bin/zsh"
Uma vez feito isso, basta adicionar recursos ao seu .tmux.conf
arquivo e as alterações deverão ser ativadas. Isso deve permitir tmux
o carregamento de quaisquer configurações que você tenha, .bash_profile
incluindo o Conda.
Responder3
Esse comportamento é causado pelo fornecimento do TMux ~/.profile
em vez do ~/.bashrc
. O meu ~/.profile
é este:
# 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
Você pode ver issoprimeiro ~/.bashrc
é originado eentão ~/bin
e ~/.local/bin
sãoanexado.Como eu mesmo experimentei, isso causa conda
soluços.
A solução seria comentar os dois blocos que manipulam PATH no ~/.profile
.
Editar (24/09/2019):Parece ainda melhor configurar o TMux de forma que ele não gere um shell de login, mas apenas um shell normal. Veja as respostas para a pergunta vinculada.
Responder4
O seguinte acontece comigo depois de iniciar uma sessão do Tmux (sem que o conda tenha nenhum ambiente ativo).
Quando faço isso pela primeira vez na sessão do Tmux:
conda activate myEnv
eu recebo
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'.
Se em vez disso eu fizer:
source deactivate
conda activate myEnv
Tudo funciona muito bem. which python
aponta para o caminho correto.