.zshenv
unter Bezugnahme auf hier.Bestätigen Sie, dass es in 3.8.6 in pyenv angegeben ist.
% pyenv versions
system
* 3.8.6 (set by /Users/user/.pyenv/version)
Als ich jedoch tatsächlich die Version von Python überprüfte, war es nicht 3.8.6! !!
% python3 -V
Python 3.9.0
% python -V
Python 2.7.16
Wenn Sie zuerst den Pfad überprüfen
% echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/user/.pyenv/bin
Zuerst kommt / user / local / bin
!
% which python
/usr/bin/python
% which python3
/usr/local/bin/python3
Ich sehe, Pyenv wird nicht verwendet.
~ / .zshenv
sieht so aus
% 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
Inhaltlich scheint es kein Problem zu geben.
Wenn es darum geht, die Reihenfolge von PATH neu zu schreiben, geht es dann um / 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
Ich bezweifle, dass es notwendig ist, einen solchen Ort neu zu schreiben. Überprüfen Sie daher die [offizielle Website] von pyenv (https://github.com/pyenv/pyenv#homebrew-on-macos).
Dann zu ~ / .zshrc
~/.zshrc
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
Verschieben Sie den in ~ / .zshenv
beschriebenen Teil sofort nach ~ / .zshrc
und starten Sie das Terminal neu!
Dann
% 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
beschrieben werden, und ~ / .zshrc
wird ebenfalls verwendet.