J_y*_*ang 10 python tmux anaconda
我在 Tmux 中使用 anaconda 环境时遇到问题。我在 OSX 上。
我先来
tmux
Run Code Online (Sandbox Code Playgroud)
然后激活 Conda 环境:
conda activate myenv
Run Code Online (Sandbox Code Playgroud)
此时,我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
Run Code Online (Sandbox Code Playgroud)
谢谢你的建议。
小智 11
以下适用于我在macOS 10.15 上使用 zsh:
将以下行添加到您的~/.tmux.conf文件中
set -g default-command "/bin/zsh"
Run Code Online (Sandbox Code Playgroud)
如果您使用的是 以外的外壳zsh,我假设更改您正在使用的外壳的路径也将起作用。
我遇到过同样的问题。最后我发现 tmux 总是会调用你的 shell 的配置文件,而不仅仅是 rc.local 。因此,如果您像我一样使用 bash,它将调用 /etc/profile,其中将调用 path_helper。
为了解决这个问题,请更改/etc/profile为:
if [[ -z $TMUX ]] && [ -x /usr/libexec/path_helper ]; then
eval `/usr/libexec/path_helper -s`
fi
Run Code Online (Sandbox Code Playgroud)
如果您使用的是 bash,请将 any更改export PATH=$PATH:/foo为.bashrc
if [[ -z $TMUX ]]; then
export PATH=$PATH:/foo
fi
Run Code Online (Sandbox Code Playgroud)
然后重新启动终端(例如 Iterm)。一切都应该很好!