首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >pyenv local/global在catalina上不起作用

pyenv local/global在catalina上不起作用
EN

Stack Overflow用户
提问于 2019-11-03 03:46:01
回答 5查看 9.8K关注 0票数 10

我有一个新的MacBook与新安装的一切,我升级到macOS Catalina。我先安装了homebrew,然后安装了pyenv,然后使用pyenv安装了Python 3.8.0。所有这些似乎都工作得很好。

然而,pyenv localpyenv global似乎都没有效果。以下是我所看到的所有细节:

代码语言:javascript
运行
复制
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,我只是根据其他一些指令添加了这些命令,但我计划删除它,因为我认为它是错误的:

代码语言:javascript
运行
复制
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,不确定这是否与此相关。

EN

回答 5

Stack Overflow用户

发布于 2020-01-25 22:06:02

如果将pyenvpipenv配合使用,并且遇到相同的问题,则可以将以下行添加到.zshrc.zprofile文件:

代码语言:javascript
运行
复制
export PYENV_ROOT="$HOME/.pyenv/shims"
export PATH="$PYENV_ROOT:$PATH"
export PIPENV_PYTHON="$PYENV_ROOT/python"

如果您安装了多个版本,引用pyenv/shims文件夹有助于保持它的通用性,并允许您在不同的Python版本之间轻松切换。

然后,pipenv将始终引用当前由pyenv设置为全局的Python版本。

票数 11
EN

Stack Overflow用户

发布于 2019-11-17 12:01:03

我将以下内容添加到我的~/.z配置文件中,并使其正常工作。

代码语言:javascript
运行
复制
export PYENV_ROOT="$HOME/.pyenv/versions/3.7.3"
export PATH="$PYENV_ROOT/bin:$PATH"
票数 5
EN

Stack Overflow用户

发布于 2019-12-16 22:54:02

catalina (以及一般的OS )使用/etc/zprofile在您在本地点文件中指定的内容之前设置$PATH

它使用path_helper实用程序来指定$PATH,我怀疑这会覆盖本地点文件中的填充程序注入。您可以在/etc/zprofile中注释掉以下行。这将在后续的操作系统更新中被覆盖。

代码语言:javascript
运行
复制
# if [ -x /usr/libexec/path_helper ]; then
#   eval `/usr/libexec/path_helper -s`
# fi

或者,您可以在您的个人.zshenv文件中取消设置GLOBAL_RCS选项(添加zsh ),这将允许您禁止获取zsh的所有系统默认RC文件,并允许pyenv填充程序按预期运行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58674723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档