在Tmux中使用anaconda环境时遇到麻烦。我在OSX上。
我先
tmux
然后激活Conda env:
conda activate myenv
此时,我conda info
显示正确的活动环境和正确的位置。但是which python
仍指向默认的/usr/bin/python
。
在.bash_profile
中,安装了anaconda时添加了这些行。所以我想我需要添加一些内容以使终端找到正确的python路径?
# added by Anaconda3 5.3.1 installer
# >>> conda init >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$(CONDA_REPORT_ERRORS=false '/Users/jiajunyang/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
if [ $? -eq 0 ]; then
\eval "$__conda_setup"
else
if [ -f "/Users/username/anaconda3/etc/profile.d/conda.sh" ]; then
. "/Users/username/anaconda3/etc/profile.d/conda.sh"
CONDA_CHANGEPS1=false conda activate base
else
\export PATH="/Users/username/anaconda3/bin:$PATH"
fi
fi
谢谢您的建议。
答案 0 :(得分:3)
以下在带zsh的 macOS 10.15上对我有用:
将以下行添加到您的~/.tmux.conf
文件中
set -g default-command "/bin/zsh"
如果您使用的是zsh
以外的外壳,那么我认为将路径更改为您正在使用的外壳也是可以的。
答案 1 :(得分:0)
我有同样的问题。最终,我发现tmux将始终为您的shell调用配置文件,而不仅仅是rc。因此,如果您像我一样使用bash,它将调用/ etc / profile,这将调用path_helper。
要解决此问题,请将/etc/profile
更改为:
if [[ -z $TMUX ]] && [ -x /usr/libexec/path_helper ]; then
eval `/usr/libexec/path_helper -s`
fi
如果您正在使用bash,请将export PATH=$PATH:/foo
中的任何.bashrc
更改为
if [[ -z $TMUX ]]; then
export PATH=$PATH:/foo
fi
然后重新启动终端(例如Iterm)。一切都应该很好!
答案 2 :(得分:0)
与此处相同,mac 10.14,tmux 3.0a 解决方案是:
source /Users/mac/opt/anaconda3/etc/profile.d/conda.sh
[[ -z $TMUX ]] ∨ conda deactivate; conda activate base
在您的.zshrc中添加2行。然后
source ~/.zshrc
现在一切正常!