首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python3和“代码”CLI在更新到MacOS蒙特雷后无法工作

Python3和“代码”CLI在更新到MacOS蒙特雷后无法工作
EN

Stack Overflow用户
提问于 2021-12-20 16:46:56
回答 2查看 2.9K关注 0票数 2

我更新到了MacOS蒙特雷,现在python不起作用了:

代码语言:javascript
运行
复制
➜  ~ python3 --version    
dyld[6578]: dyld cache '/System/Library/dyld/dyld_shared_cache_x86_64h' not loaded: syscall to map cache into shared region failed
dyld[6578]: Library not loaded: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
  Referenced from: /Library/Frameworks/Python.framework/Versions/3.6/Resources/Python.app/Contents/MacOS/Python
  Reason: tried: '/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation' (no such file), '/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation' (no such file)
[1]    6578 abort      python3 --version

但如果我跑了

代码语言:javascript
运行
复制
➜  ~ /usr/bin/python3 --version
Python 3.8.9

我能运行它。但是,当运行code .在vs代码中打开一个项目时,也会出现同样的错误:

代码语言:javascript
运行
复制
dyld[6683]: dyld cache '/System/Library/dyld/dyld_shared_cache_x86_64h' not loaded: syscall to map cache into shared region failed
dyld[6683]: Library not loaded: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
  Referenced from: /Library/Frameworks/Python.framework/Versions/3.6/Resources/Python.app/Contents/MacOS/Python
  Reason: tried: '/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation' (no such file), '/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation' (no such file)
/usr/local/bin/code: line 10: ./MacOS/Electron: No such file or directory

我不知道该怎么做才能成功地运行像code .这样的命令。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-07 00:22:30

您的python3为3.8.9,但错误消息为3.6。看起来您有冲突的python版本。我在我的机器上通过卸载3.6和它的所有系统链接(如在“卸载Python3使用终端”下看到的这里 )修正了这个错误,除了我在步骤4和5中使用了自制命令brew doctorbrew cleanup

票数 4
EN

Stack Overflow用户

发布于 2022-01-21 13:54:57

这是100%的版本冲突/路径问题。

首先,打开终端并尝试运行echo $PATH。它应该打印这样的东西:

代码语言:javascript
运行
复制
/opt/homebrew/bin:/opt/homebrew/sbin:/Library/Frameworks/Python.framework/Versions/3.10/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin

如你所见,上面写着3.10给我,而你的说3.6

@guest_fish对删除过时版本的Python提出了一个很好的建议,但您可以尝试的另一种方法是检查以下内容:

  • vim $HOME/.zprofile ->这是.bash_profile的zsh模拟,下面是我的样子:
代码语言:javascript
运行
复制
# Setting PATH for Python 3.10
# The original version is saved in .zprofile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.10/bin:${PATH}"
export PATH
eval "$(/opt/homebrew/bin/brew shellenv)"

注意它是如何与上面的路径iechod的第一部分匹配的。

  • vim /etc/paths ->这应该与您的PATH的中间部分相匹配,我的看起来如下:
代码语言:javascript
运行
复制
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
  • vim /etc/paths.d/<your_unique_id> (当您在paths.d s.d时,只需按tab键完成它,通常只有一个选项)。我的看起来是这样的:

/Library/Apple/usr/bin

注意它是如何与路径的末尾匹配的。

当您访问这些文件时,您可以修改它们(密码保护的obv)以将/usr/bin/python3放在第一位,这意味着它将首先查找python文件,并(希望)使用正确的版本。

现在,要解决code问题,您可以尝试进入VSCode并点击SHIFT + ⌘ + P,然后选择Shell命令:在PATH中安装'code‘命令--这将自动为您更新它。

这是怎么回事!

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

https://stackoverflow.com/questions/70425220

复制
相关文章

相似问题

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