tmux识别了Conda env,但仍使用默认的python

时间:2019-08-26 14:50:42

标签: python anaconda tmux

在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

谢谢您的建议。

3 个答案:

答案 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

现在一切正常!