【问题标题】:No acceptable C compiler found in $PATH when installing python安装 python 时在 $PATH 中找不到可接受的 C 编译器
【发布时间】:2013-11-17 22:30:10
【问题描述】:

我正在尝试在我的共享主机上安装新的 Python 环境。我按照this post中写的步骤:

mkdir ~/src
wget http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tgz
tar -zxvf Python-2.7.1.tar.gz
cd Python-2.7.1
mkdir ~/.localpython
./configure --prefix=/home/<user>/.localpython
make
make install

来到./configure --prefix=/home/&lt;user&gt;/.localpython命令后,得到如下输出:

checking for --enable-universalsdk... no
checking for --with-universal-archs... 32-bit
checking MACHDEP... linux3
checking EXTRAPLATDIR... 
checking machine type as reported by uname -m... x86_64
checking for --without-gcc... no
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/home3/mikos89/Python-2.7.1':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.

如何解决这个问题?我已经尝试了 3 个小时来寻找解决方案,但我仍然卡在一个地方。

更新

Hostgator does not allow gcc 在他们的共享帐户上:

【问题讨论】:

  • 完全相同的问题
  • 您应该尝试为您的系统找到预构建的二进制文件。如果您没有 root 访问权限,这是最简单的方法。

标签: python compiler-errors virtualenv


【解决方案1】:

gcc 编译器不在您的$PATH 中。 这意味着要么你没有安装 gcc,要么它不在你的 $PATH 变量中。

要安装 gcc,请使用:(以 root 身份运行)

  • 红帽基地:

     yum groupinstall "Development Tools"
    
  • Debian 基础:

     apt-get install build-essential
    
  • openSUSE 基础:

     zypper install --type pattern devel_basis
    

【讨论】:

  • 我喜欢build-essential的安装方法,包含gcc、g++、make等。
  • zypper 有替代品吗?
  • 这是共享主机,这怎么可能是公认的解决方案?我们需要python,在节点的情况下,它也作为用户级别进入,没有root。这是所有这一切的交易破坏者,需要root。这应该是一个非根程序 IMO
  • 其实是 yum groupinstall "Development Tools" in CentOS 7
  • 您如何确定它是否已安装但不在您的 $PATH 变量中?
【解决方案2】:

对于 Ubuntu / Debian:

sudo apt-get install build-essential

适用于 RHEL/CentOS

sudo yum install gcc glibc glibc-common gd gd-devel -y

 sudo yum groupinstall "Development tools" -y

更多详情,请参考this link

【讨论】:

    【解决方案3】:

    在 Suse Linux 中运行 apt-get install gcc

    【讨论】:

    • 对于 Suse Linux 应该是:sudo zypper install gcc
    【解决方案4】:

    问题:

    配置:错误:在 $PATH 中找不到可接受的 C 编译器

    我通过执行以下命令解决了这个问题:

    yum install gcc
    

    安装 gcc。

    【讨论】:

      【解决方案5】:

      您需要以非 root 用户身份安装它,因为它是共享主机。 Here 是一个教程,介绍了如何执行此步骤。

      cd ~/src
      wget http://www.netgull.com/gcc/releases/gcc-5.2.0/gcc-5.2.0.tar.gz
      

      或等效的 gcc 源,然后

      tar -xvf gcc-5.2.0.tar.gz
      cd gcc-5.2.0
      ./contrib/download_prerequisites
      cd ..
      mkdir objdir
      cd objdir
      $PWD/../gcc-5.2.0/configure --prefix=$HOME/gcc-5.2.0 --enable-languages=c,c++,fortran,go
      make
      make install
      

      然后添加到 .bashrc 或等效项:

      export PATH=~/gcc-5.2.0/bin:$PATH
      export LD_LIBRARY_PATH=~/gcc-5.2.0/lib:$LD_LIBRARY_PATH
      export LD_LIBRARY_PATH=~/gcc-5.2.0/lib64:$LD_LIBRARY_PATH
      

      【讨论】:

      • 当执行$PWD/../gcc-5.2.0/configure --prefix=$HOME/gcc-5.2.0 --enable-languages=c,c++,fortran,go 时仍然会产生同样的错误configure: error: no applicable C compiler found in $PATH
      • 执行 $PWD 时出现“配置:错误:在 $PATH 中找不到可接受的 C 编译器”... 有已知的解决方案吗???
      • 我在使用 Bluehost 的托管服务时遇到了类似的问题。我不得不致电支持以请求将其添加到他们的编译器组(他们有一个启用 python 的示例)。在他们批准后,我可以调用 make,一个小时后仍在编译。
      【解决方案6】:

      sudo apt install build-essential 是命令。

      但是,如果您收到“可以找到包”之类的错误,请运行

      • sudo apt update第一
      • 然后sudo apt install build-essential

      这对我有用。

      【讨论】:

      • 在 Ubuntu 18.04 上为我工作
      【解决方案7】:

      假设您使用的是 debain/ubuntu 系统,您需要先运行以下命令:

      sudo apt-get install build-essential
      

      【讨论】:

      • 我在输入您的代码后得到了这个响应: sudo: 无法 mkdir /var/db/sudo: 没有这样的文件或目录 我们相信您已经收到了本地系统管理员的常规讲座。它通常归结为以下三件事:#1) 尊重他人的隐私。 #2) 打字前三思。 #3) 权力越大,责任越大。 的 [sudo] 密码: 不在 sudoers 文件中。将报告此事件。
      • 您使用的是哪个发行版?
      • @mik.ro 你正在运行什么操作系统/发行版。您是否有机会以 root 身份登录?
      • 我正在使用 hostgator,它在 CentOS x86 上。
      • 好的,我检查了hostgator网站,解决方案非常简单和悲伤:他们不允许在共享服务器上使用gcc link如果有人有想法,我该如何安装另一个python在他们的共享主机上分发我会很感激的。
      【解决方案8】:

      你需要跑

      yum install gcc
      

      【讨论】:

      • 在 CentOS 7 上工作。谢谢
      • 在 Debian 4.9 上工作。谢谢
      • 在 CentOS 8 上工作。谢谢
      • 我收到错误“访问配置文件时出错:///etc/yum.conf”。我有 Bluehost 共享主机。
      • 嘿@PaulChrisJones,当我尝试使用 ssh 在我的 blueshot 托管 acc 中安装 gcc 时遇到了同样的问题。我遇到了这个,因为我的配置文件不会运行。如果您设法找到解决方案,请告诉我。会有很大帮助的!
      【解决方案9】:

      您只需在 Debian-family 上安装 build-essential 并在 RedHat-family 上安装 Development tools

      【讨论】:

        【解决方案10】:

        对于 Ubuntu/Debian,运行

        sudo apt update
        
        sudo apt install -y build-essential
        

        记得添加标志-y默认接受继续。

        【讨论】:

          【解决方案11】:

          在 Arch Linux 上运行以下命令:

          sudo pacman -S base-devel

          【讨论】:

          • 谢谢,这解决了我的问题。无需额外设置。
          【解决方案12】:

          如果您在 docker 中使用 alphine,请执行以下操作:

          apk --update add gcc make g++ zlib-dev
          

          【讨论】:

          • apk add --no-cache git autoconf automake gawk build-base
          【解决方案13】:

          让有权访问该服务器上的根帐户的人运行sudo apt-get install build-essential。如果您不知道谁拥有 root 访问权限,请联系您的共享主机支持团队并询问他们。

          编辑:如果不允许您访问 root,您将永远无法使其正常工作。恐怕您必须更换托管服务提供商。

          【讨论】:

            猜你喜欢
            • 2016-06-08
            • 2018-12-11
            • 1970-01-01
            • 2011-01-14
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-03-08
            • 2012-06-14
            相关资源
            最近更新 更多