env:python:使用 Xcode 构建应用程序时没有这样的文件或目录

问题描述 投票:0回答:8

当我在 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

如有任何帮助,我们将不胜感激!如果我错过或忘记了任何内容,请告诉我,我对此很陌生。

python xcode nativescript
8个回答
84
投票

Homebrew 仅安装二进制文件

python3
,只是为了安全起见。 Xcode 抱怨缺少二进制文件
python
(注意缺少 3!)。

您有几个选择:

  1. 安装

    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 等进行修改。

  2. 或者更简单,虽然有点笨拙,您可以简单地手动创建适当的符号链接:

    ln -s "$(brew --prefix)/bin/python"{3,}
    

28
投票

添加

-f
才有效。

ln -s -f /usr/local/bin/python3 /usr/local/bin/python

21
投票

我在 nativescript 官方 github 上发布了同样的问题,对我有用的解决方案是用户 shilik 的答案

Monterey 12.3 删除了 python 2。您需要做的就是重新安装 python2从此链接返回系统 https://www.python.org/downloads/release/python-2718/


20
投票
  1. 安装python3
  2. 运行 'ln -s /usr/bin/python3 /usr/local/bin/python',创建 Python 链接

11
投票

对我来说问题是缺少 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

4
投票

这花了我几天的时间,我在互联网上找到的解决方案都不起作用。

最终对我有用的是:

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 上安装的。


3
投票

我能够通过上述答案解决这个问题。

就我而言,当我在节点项目中尝试

npm install
时,遇到了这个问题。

注意:

% brew install python
是以下所有步骤的先决条件!通过
brew info python

测试python是否正确安装
  1. 首先想到的是python是否正确安装并且路径设置正确。

python --version
正在给予
zsh - python not found error
,而
python3 --version
则取得了成功。

  1. 接下来的步骤是设置正确的路径。我执行了以下步骤并且成功了:
  • echo "alias python=/usr/bin/python3" >> ~/.zshrc
  • ln -s -f "$(brew --prefix)/bin/python"{3,}
  • ln -s -f "$(which python3)"{3,}

我缺少的是跑步

brew install python
,它就像一个魅力


2
投票

在我的例子中,为 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

命令位置和版本应适应您的环境。

© www.soinside.com 2019 - 2024. All rights reserved.