安装python时在$ PATH中找不到可接受的C编译器


241

我正在尝试在共享主机上安装新的python环境。我按照这篇文章写的步骤:

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 //。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不允许在其共享帐户上使用gcc:http : //support.hostgator.com/articles/pre-sales-questions/compatible-technologies


完全相同的问题
blamb

您应该尝试查找系统的预构建二进制文件。如果您没有root用户访问权限,这是最简单的方法。
C. Yduqoli

Answers:


447

gcc编译器不在您的中$PATH。这意味着您没有安装gcc或不在$ PATH变量中。

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

  • Redhat基础:

    yum groupinstall "Development Tools"
  • Debian基础:

    apt-get install build-essential

11
我喜欢安装build-essential的方法,其中包含gcc,g ++,make等
Spectral

2
zypper是否有替代方案?
Almino Melo 2015年

1
这是共享主机,这怎么算是公认的解决方案?我们需要python,在某些情况下需要node,它也以用户级别进入,没有root用户。这是所有需要root的交易破坏者。这应该是一个非根过程IMO
blamb

1
其实它的百胜groupinstall“开发ŧ在CentOS的7 ools”
弗朗西斯Gualazzi

3
您如何确定它是否已安装但未在$ PATH变量中?
JMess '17

82

你需要跑步

yum install gcc

3
在CentOS 7上工作。谢谢
Faliorn '16

在Debian 4.9上工作。谢谢
Jad Chahine

在CentOS 8上工作。谢谢
twasbrillig 19/12/15

我收到错误“访问配置文件:///etc/yum.conf的文件时出错”。我有Bluehost共享托管。
Paul Chris Jones

嘿@PaulChrisJones,当我尝试使用ssh在blueshot托管acc中安装gcc时遇到了相同的问题。我遇到了这个问题,因为我的配置文件无法运行。如果您设法找到解决方案,请告诉我。这将是极大的帮助!
Honey Khandelwal,

66

对于Ubuntu / Debian:

# sudo apt-get install build-essential

对于RHEL / CentOS

#rpm -qa | grep gcc
# yum install gcc glibc glibc-common gd gd-devel -y

要么

 # yum groupinstall "Development tools" -y

更多细节请参考链接


58

您将需要运行

sudo apt-get install build-essential

首先假设您使用的是debain / ubuntu系统


1
在输入您的代码后,我得到了以下响应:sudo:无法mkdir / var / db / sudo:没有这样的文件或目录我们相信您已经从本地系统管理员那里获得了通常的演讲。通常可以归结为以下三点:#1)尊重他人的隐私。#2)在打字之前要三思。#3)强大的力量带来巨大的责任。<usrname>的[sudo]密码:<usrname>不在sudoers文件中。将报告此事件。
mik.ro 2013年

1
您正在使用哪个发行版?
vahid abdi 2013年

@ mik.ro您正在运行什么操作系统/发行版。您是否以root用户身份登录?
Tom Swifty

我正在使用hostgator,它在CentOS x86上。
mik.ro

1
好的,我已经检查了hostgator网站,解决方案非常简单和悲伤:他们不允许在共享服务器链接上使用gcc 如果有人有想法,我如何在其共享主机上安装另一个python发行版,我将不胜感激。
mik.ro

12

由于它是共享主机,因此您需要以非root用户身份安装它。这是一个指示如何执行此步骤的Tut。 http://luiarthur.github.io/gccinstall

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

10
当执行$PWD/../gcc-5.2.0/configure --prefix=$HOME/gcc-5.2.0 --enable-languages=c,c++,fortran,go仍然导致相同的错误配置时:错误:在$ PATH中找不到可接受的C编译器
Tony Chou,

我在执行$ PWD时得到“配置:错误:在$ PATH中找不到可接受的C编译器” ...是否存在已知的解决方案???
特里


9

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

编辑:如果不允许访问root用户,则永远不会使它工作。恐怕您必须更改托管服务提供商。



7

sudo apt install build-essential 是命令

但是如果得到“ 可以找到该软件包 ”的错误,请运行

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

这对我有用。


在Ubuntu 18.04上为我工作
Liz

4

在Arch Linux上,运行以下命令:

sudo pacman -S base-devel

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.