.zshenv
se référant à iciConfirmez qu'il est spécifié dans 3.8.6 dans pyenv.
% pyenv versions
system
* 3.8.6 (set by /Users/user/.pyenv/version)
Cependant, lorsque j'ai vérifié la version de python, ce n'était pas la 3.8.6! !!
% python3 -V
Python 3.9.0
% python -V
Python 2.7.16
Si vous vérifiez le CHEMIN en premier lieu
% echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/user/.pyenv/bin
Vient d'abord / user / local / bin
!
% which python
/usr/bin/python
% which python3
/usr/local/bin/python3
Je vois, pyenv n'est pas utilisé.
~ / .zshenv
ressemble à ceci
% cat ~/.zshenv
export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
Il ne semble y avoir aucun problème en termes de contenu.
Quand il s'agit de réécrire l'ordre de PATH, est-ce autour de / etc / zprofile
?
% cat /etc/zprofile
# System-wide profile for interactive zsh(1) login shells.
# Setup user specific overrides for this in ~/.zprofile. See zshbuiltins(1)
# and zshoptions(1) for more details.
if [ -x /usr/libexec/path_helper ]; then
eval `/usr/libexec/path_helper -s`
fi
Je doute qu'il soit nécessaire de réécrire un tel endroit, alors consultez le [site officiel] de pyenv (https://github.com/pyenv/pyenv#homebrew-on-macos).
Ensuite, vers ~ / .zshrc
~/.zshrc
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
Déplacez immédiatement la partie décrite dans ~ / .zshenv
vers ~ / .zshrc
et redémarrez le terminal!
ensuite
% echo $PATH
/Users/user/.pyenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/user/.pyenv/bin
% python -V
Python 3.8.6
% which python
/Users/ham/.pyenv/shims/python
~ / .zshenv
, et ~ / .zshrc
est également utilisé.