我有一个新的MacBook与新安装的一切,我升级到macOS Catalina。我先安装了homebrew,然后安装了pyenv,然后使用pyenv安装了Python 3.8.0。所有这些似乎都工作得很好。
然而,pyenv local和pyenv global似乎都没有效果。以下是我所看到的所有细节:
thewizard@Special-MacBook-Pro ~ % pyenv versions
system
* 3.8.0 (set by /Usersthewizard/.python-version)
thewizard@Special-MacBook-Pro ~ % python --version
Python 2.7.16
thewizard@Special-MacBook-Pro ~ % pyenv global 3.8.0
thewizard@Special-MacBook-Pro ~ % python --version
Python 2.7.16
thewizard@Special-MacBook-Pro ~ % pyenv local 3.8.0
thewizard@Special-MacBook-Pro ~ % python --version
Python 2.7.16
thewizard@Special-MacBook-Pro ~ % echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/thewizard/.pyenv/bin
thewizard@Special-MacBook-Pro ~ % 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顺便说一下,我的.pyenv中没有/bin,我只是根据其他一些指令添加了这些命令,但我计划删除它,因为我认为它是错误的:
thewizard@Special-MacBook-Pro ~ % ls -al ~/.pyenv
total 8
drwxr-xr-x 5 thewizard staff 160 Nov 2 15:03 .
drwxr-xr-x+ 22 thewizard staff 704 Nov 2 15:36 ..
drwxr-xr-x 22 thewizard staff 704 Nov 2 15:03 shims
-rw-r--r-- 1 thewizard staff 6 Nov 2 15:36 version
drwxr-xr-x 3 thewizard staff 96 Nov 2 15:01 versions值得注意的是,Catalina从bash迁移到了zsh,不确定这是否与此相关。
发布于 2020-01-25 22:06:02
如果将pyenv与pipenv配合使用,并且遇到相同的问题,则可以将以下行添加到.zshrc或.zprofile文件:
export PYENV_ROOT="$HOME/.pyenv/shims"
export PATH="$PYENV_ROOT:$PATH"
export PIPENV_PYTHON="$PYENV_ROOT/python"如果您安装了多个版本,引用pyenv的/shims文件夹有助于保持它的通用性,并允许您在不同的Python版本之间轻松切换。
然后,pipenv将始终引用当前由pyenv设置为全局的Python版本。
发布于 2019-11-17 12:01:03
我将以下内容添加到我的~/.z配置文件中,并使其正常工作。
export PYENV_ROOT="$HOME/.pyenv/versions/3.7.3"
export PATH="$PYENV_ROOT/bin:$PATH"发布于 2019-12-16 22:54:02
catalina (以及一般的OS )使用/etc/zprofile在您在本地点文件中指定的内容之前设置$PATH。
它使用path_helper实用程序来指定$PATH,我怀疑这会覆盖本地点文件中的填充程序注入。您可以在/etc/zprofile中注释掉以下行。这将在后续的操作系统更新中被覆盖。
# if [ -x /usr/libexec/path_helper ]; then
# eval `/usr/libexec/path_helper -s`
# fi或者,您可以在您的个人.zshenv文件中取消设置GLOBAL_RCS选项(添加zsh ),这将允许您禁止获取zsh的所有系统默认RC文件,并允许pyenv填充程序按预期运行。
https://stackoverflow.com/questions/58674723
复制相似问题