#macOS #python #python3
遇到的问题
- 终端无法执行
code
命令打开 vscode - 升级之后发现终端执行
cd
命令会报env: python: No such file or directorymacosmojave
这种错误苹果发布会
解决过程
第一个问题网上已经有文章给了解决方案,简单来说就是将 code
脚本中的 python
命令修改为 python3
。
在终端中执行如下命令:
$ vim /usr/local/bin/code
原始内容如下:
#!/usr/bin/env bash
#
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
function realpath() { python -c "import os,sys; print(os.path.realpath(sys.argv[1]))" "$0"; }
CONTENTS="$(dirname "$(dirname "$(dirname "$(dirname "$(realpath "$0")")")")")"
ELECTRON="$CONTENTS/MacOS/Electron"
CLI="$CONTENTS/Resources/app/out/cli.js"
ELECTRON_RUN_AS_NODE=1 "$ELECTRON" "$CLI" --ms-enable-electron-run-as-node "$@"
exit $?
修改为:
#!/usr/bin/env bash
#
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
function realpath() { python3 -c "import os,sys; print(os.path.realpath(sys.argv[1]))" "$0"; }
CONTENTS="$(dirname "$(dirname "$(dirname "$(dirname "$(realpath "$0")")")")")"
ELECTRON="$CONTENTS/MacOS/Electron"
CLI="$CONTENTS/Resources/app/out/cli.js"
ELECTRON_RUN_AS_NODE=1 "$ELECTRON" "$CLI" --ms-enable-electron-run-as-node "$@"
exit $?
第二问题比较奇怪,我两台 mac 都升级到 12.3,一台没有这个问题,另一台有这个问题。
我的解决思路是既然苹果删除了 python2 ,那我python语言就自己安装一个。
mac 上采用 bmacos和windows区别rew
命令安装,但是我在执行 brew苹果xs search python
发现 python@2
已经找不到了,所以这个方法放弃了。
后来又看了一下 brew
安装的 pythonElectron@3.9
其实是在 /usr/local/bin
目录中配置了软链,所以又想既然系统找不到 python
命令,那我也在 /usr/local/bin
目录下配苹果12置一个 python
软链,链接到 python3
不就完事了,执行如下命令:
$ cd /usr/local/bin
$ sudo ln -s ../Cellar/python@3.9/3.9.6/bin/python3 python
然后再执行 cd
发现问题解决了。
后来又发现,code
执行失败也是因为找不到 python
命令导致的,既然已经配置了 python
软链,code
脚本是不是也就不用变更了呢?
所以又将 code
脚本苹果手机还原,再次执行 code
,也可以正常打开 vscode。
总结
以上两个问题归根结底还approach是因为找不到 python
命令导致的,我的解决方案是:配置一个名称为 python
的软链链接到 python3
命令。
完事!