![tmux está provocando que anaconda use una fuente de Python diferente](https://rvso.com/image/112014/tmux%20est%C3%A1%20provocando%20que%20anaconda%20use%20una%20fuente%20de%20Python%20diferente.png)
Ok, estoy en mi entorno anaconda y ejecuté which python. yo obtengo
/home/comp/anaconda3/envs/env1/bin/python
Ahora, si inicio tmux, luego ejecuto source enable env1, luego qué python, obtengo
/home/comp/anaconda3/bin/python
aunque sí tengo mi entorno activado. ¿Cómo puedo hacer que anaconda vea el mismo camino dentro de tmux?
Respuesta1
La solución parece ser desactivar el entorno conda, luego iniciar tmux y luego reactivar el entorno dentro de tmux.
Respuesta2
Tuve el mismo problema, pero realmente no me gustó ninguna de las soluciones, ya que implicaban desactivar y activar Conda cada vez que cargo tmux
. Entonces, en lugar de eso, agregué lo que se muestra a continuación a mi .tmux.conf
:
EDICIÓN IMPORTANTE: este código funciona para mí, ya que actualmente estoy ejecutando un shell zsh y aquí es donde se almacena mi configuración. Su shell estándar puede ser diferente; para encontrar la ubicación de su shell use el comando echo "$SHELL"
y reemplace /bin/zsh
en mi respuesta con su propia ruta de shell.
set -g default-command "/bin/zsh"
Una vez hecho esto, simplemente recurra a su .tmux.conf
archivo y los cambios deberían activarse. Esto debería permitir tmux
cargar cualquier configuración que tenga en su .bash_profile
Conda incluida.
Respuesta3
Este comportamiento se debe al abastecimiento de TMux ~/.profile
en lugar de ~/.bashrc
. Mi ~/.profile
es 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
Puedes ver esoprimero ~/.bashrc
es de origen yentonces ~/bin
y ~/.local/bin
sonantepuesto.Como lo experimenté yo mismo, esto provoca conda
un problema.
La solución sería comentar los dos bloques que manipulan PATH en ~/.profile
.
Editar (24/09/2019):Parece aún mejor configurar TMux de manera que no genere un shell de inicio de sesión sino uno normal. Vea las respuestas a la pregunta vinculada.
Respuesta4
Me pasa lo siguiente después de iniciar una sesión de Tmux (sin que conda tenga ningún env activo).
Cuando lo hago por primera vez dentro de la sesión de Tmux:
conda activate myEnv
yo obtengo
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'.
Si en cambio hago:
source deactivate
conda activate myEnv
Todo funciona bien. which python
señala el camino correcto.