当我在 Xcode(在 MacOS 12.3 上)中构建/运行/存档我的应用程序时,遇到此错误:
env: python: No such file or directory
Command Ld failed with a nonzero exit code
我想我可能在做学校项目时改变了我的 python 环境,或者弄乱了一些东西。但是,我不知道出了什么问题。
我尝试重新安装Xcode和python(使用brew和pyenv)。我还使用brew重新链接了python。但我仍然遇到同样的错误。
哪个 python 给出以下结果:
which python3
-> /usr/local/bin/python3
在我的 ~/.zshrc 中我有以下行:
export PATH=/usr/local/bin:/usr/local/sbin:~/bin:$PATH
如有任何帮助,我们将不胜感激!如果我错过或忘记了任何内容,请告诉我,我对此很陌生。
Homebrew 仅安装二进制文件
python3
,只是为了安全起见。 Xcode 抱怨缺少二进制文件 python
(注意缺少 3!)。
您有几个选择:
安装
python3
时,Homebrew 还会创建一个 libexec
文件夹,其中包含未版本化的符号链接,例如 python
(您缺少的)。请注意安装时打印的注意事项:
$ brew info python
[email protected]: stable 3.9.10 (bottled)
==> Caveats
Python has been installed as
/opt/homebrew/bin/python3
Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, have been installed into
/opt/homebrew/opt/[email protected]/libexec/bin
See: https://docs.brew.sh/Homebrew-and-Python
您可以将此目录添加到您的
$PATH
中,以便python
和pip
变得可用;像下面这样的东西可能就足够了:
echo 'export PATH="'"$(brew --prefix)"'/opt/[email protected]/libexec/bin:$PATH"' \
>>~/.bash_profile
...尽管这需要根据您的 Python3 的精确版本、您选择的 shell 等进行修改。
或者更简单,虽然有点笨拙,您可以简单地手动创建适当的符号链接:
ln -s "$(brew --prefix)/bin/python"{3,}
添加
-f
才有效。
ln -s -f /usr/local/bin/python3 /usr/local/bin/python
我在 nativescript 官方 github 上发布了同样的问题,对我有用的解决方案是用户 shilik 的答案
Monterey 12.3 删除了 python 2。您需要做的就是重新安装 python2从此链接返回系统 https://www.python.org/downloads/release/python-2718/
对我来说问题是缺少 python
env: python: No such file or directory
但最终更新到macOS Monterey 12.5(21G72)后缺少的是python版本2.x。 通过安装 python 解决了问题: https://www.python.org/downloads/release/python-2718/
我也尝试过但你可能不必这样做:
sudo brew install python
sudo brew upgrade
sudo ln -s -f /usr/local/bin/python3 /usr/local/bin/python
sudo ln -s $(which python3) /usr/local/bin/python
sudo ln -s $(which python3) /Applications/Xcode.app/Contents/Developer/usr/bin/python
sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/bin/python3 /Applications/Xcode.app/Contents/Developer/usr/bin/python
这花了我几天的时间,我在互联网上找到的解决方案都不起作用。
最终对我有用的是:
sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/bin/python3 /Applications/Xcode.app/Contents/Developer/usr/bin/python
我使用 find 命令来查找文件层次结构中的所有 python 实例:
find / -name python*
我看到
python3
中有一个标记为 /Applications/Xcode.app/Contents/Developer/usr/bin/
的符号链接,它链接到 Xcode 内部深处的一个 python 实例。
但是没有标记为
python
的符号链接,这似乎是 Xcode 正在寻找的内容。
因此,我创建了一个将
python
链接到 python3
的符号链接,这样就成功了。
值得一提的是,我通过 pyenv 安装了 python,它是通过 homebrew 在 2020 Mac mini M1 上安装的。
我能够通过上述答案解决这个问题。
就我而言,当我在节点项目中尝试
npm install
时,遇到了这个问题。
注意:
% brew install python
是以下所有步骤的先决条件!通过brew info python
测试python是否正确安装
正在给予python --version
,而zsh - python not found error
则取得了成功。python3 --version
echo "alias python=/usr/bin/python3" >> ~/.zshrc
ln -s -f "$(brew --prefix)/bin/python"{3,}
ln -s -f "$(which python3)"{3,}
我缺少的是跑步
brew install python
,它就像一个魅力!
在我的例子中,为 dev_appserver.py 创建了符号链接,如下所示。
ln -s /opt/local/bin/python2.7 /usr/local/bin/python
ln -s /opt/local/bin/python2.7 /usr/local/bin/python2
命令位置和版本应适应您的环境。