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

我正在尝试在我的共享主机上安装一个新的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/<user>/.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在他们的共享帐户上:

604182 次浏览

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

sudo apt-get install build-essential

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

编辑:如果你不被允许访问根目录,你永远不会让它工作。恐怕你得换一个主机供应商。

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

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

  • < p > Redhat基地:

     yum groupinstall "Development Tools"
    
  • < p > Debian基地:

     apt-get install build-essential
    
  • < p > openSUSE基地:

     zypper install --type pattern devel_basis
    
  • < p >高山:

     apk add build-base
    

你需要逃离

yum install gcc

对于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

有关更多细节,请参考这个链接

在Arch Linux上运行如下命令:

sudo pacman -S base-devel

您需要以非根用户身份安装它,因为它是共享主机。在这里是一个教程,讲述了如何完成这一步。

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

如果你在docker中使用alphine,这样做:

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

在Suse Linux下执行apt-get install gcc

sudo apt install build-essential是命令。

然而,如果你得到"可以找到包裹"一种错误,运行

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

这对我很管用。

问题:

$PATH中没有可接受的C编译器

我通过执行以下命令修复了这个问题:

yum install gcc

安装gcc。

对于Ubuntu/Debian,执行

sudo apt update


sudo apt install -y build-essential

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

你只需要在Debian-family上安装build-essential,在RedHat-family上安装Development tools

在共享主机中,gcc编译器默认是禁用的(在终端中写入gcc --version,如果安装,它必须返回'Permission denied'…)这对下一步非常重要。

现在,联系支持团队并请求将您的用户id添加到“编译器组”。这解决了你的问题和其他-例如,你将能够毫无问题地执行“make”和“make install”,安装枕头库等。

忘掉'sudo'或'apk'命令吧。它们在默认情况下也是禁用的。