no se encontró un compilador de C aceptable en $ PATH al instalar python

241

Estoy tratando de instalar un nuevo entorno de Python en mi alojamiento compartido. Sigo los pasos escritos en esta publicación :

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

Después de llegar al comando "./configure --prefix = / home //. Localpython" obtengo el siguiente resultado:

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.

¿Cómo se puede resolver este problema? He estado tratando de encontrar una solución durante 3 horas, pero todavía estoy atrapado en un solo lugar.

ACTUALIZAR

Hostgator no permite gcc en sus cuentas compartidas: http://support.hostgator.com/articles/pre-sales-questions/compatible-technologies

mik.ro
fuente
exactamente el mismo problema
blamb
Debería intentar encontrar binarios previos a la construcción para su sistema. Es la forma más fácil si no tiene acceso de root.
C. Yduqoli

Respuestas:

447

El compilador gcc no está en tu $PATH. Significa que no tienes instalado gcc o que no está en tu variable $ PATH.

Para instalar gcc usa esto: (ejecutar como root)

  • Base Redhat:

    yum groupinstall "Development Tools"
  • Base de Debian:

    apt-get install build-essential
vahid abdi
fuente
11
Me gustan los métodos para instalar build-essential , que contiene gcc, g ++, make, etc.
Spectral
2
¿Hay alguna alternativa para zypper?
Almino Melo
1
esto es hosting compartido, ¿cómo es esta una solución aceptada? Necesitamos Python, en los casos de nodo, que también está entrando como nivel de usuario, no root. Esto es un factor decisivo para todo esto, que necesita root. se supone que esto es un procedimiento no root IMO
blamb
1
En realidad es yum groupinstall "Development T ools" en CentOS 7
Francesco Gualazzi
3
¿Cómo determinaría si está instalado pero no en su variable $ PATH?
JMess
82

necesitas correr

yum install gcc
mlowton
fuente
3
Trabajó en CentOS 7. Gracias
Faliorn
Trabajó en Debian 4.9. Gracias
Jad Chahine
Trabajó en CentOS 8. Gracias
twasbrillig
Recibo el error "Error al acceder al archivo para el archivo de configuración: ///etc/yum.conf". Tengo alojamiento compartido de Bluehost.
Paul Chris Jones
Hola @PaulChrisJones, me encontré con el mismo problema cuando intenté instalar gcc en mi host de alojamiento de blueshot usando ssh. Me encontré con esto porque mi archivo de configuración no se ejecutará. Si logró encontrar una solución, hágamelo saber. Sería de gran ayuda !
Honey Khandelwal
66

para Ubuntu / Debian:

# sudo apt-get install build-essential

Para RHEL / CentOS

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

o

 # yum groupinstall "Development tools" -y

Más detalles consulte el enlace

lakshmikandan
fuente
58

Necesitarás correr

sudo apt-get install build-essential

primero asumiendo que estás en un sistema debin / ubuntu

Tom Swifty
fuente
1
Recibí esta respuesta después de escribir su código: sudo: incapaz de mkdir / var / db / sudo: No existe tal archivo o directorio Confiamos en que haya recibido la conferencia habitual del Administrador del sistema local. Por lo general, se reduce a estas tres cosas: # 1) Respeta la privacidad de los demás. # 2) Piensa antes de escribir. # 3) Con gran poder viene una gran responsabilidad. La contraseña [sudo] para <nombre de usuario>: <nombre de usuario> no está en el archivo sudoers. Este incidente será reportado.
mik.ro
1
¿Qué distribución estás usando?
vahid abdi
@ mik.ro qué sistema operativo / distribución está ejecutando. ¿Estás conectado como root por casualidad?
Tom Swifty el
Estoy usando hostgator, está en CentOS x86.
mik.ro
1
Ok, he revisado el sitio web de hostgator y la solución es muy simple y triste: no permiten gcc en el enlace de sus servidores compartidos . Si alguien tiene una idea, ¿cómo puedo instalar otra distribución de Python en su hosting compartido? .
mik.ro
12

Debería instalarlo como no root, ya que es un hosting compartido. Aquí hay un tutorial que señala cómo este paso. http://luiarthur.github.io/gccinstall

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

o fuente de gcc equivalente, entonces

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

luego agregue a .bashrc, o equivalente

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
culpa
fuente
10
cuando se ejecuta $PWD/../gcc-5.2.0/configure --prefix=$HOME/gcc-5.2.0 --enable-languages=c,c++,fortran,goaún se obtiene el mismo error de configuración: error: no se encontró un compilador de C aceptable en $ PATH
Tony Chou
Obtuve "configure: error: no se encontró un compilador C aceptable en $ PATH" cuando se ejecutó $ PWD ... ¿Hay una solución conocida?
Terry
12

Si está utilizando alphine con docker, haga lo siguiente:

apk --update add gcc make g++ zlib-dev
Sahith Vibudhi
fuente
3
apk add --no-cache git autoconf automake gawk build-base
srghma
9

Obtenga a alguien con acceso a la cuenta raíz en ese servidor para ejecutar sudo apt-get install build-essential. Si no sabe quién tiene acceso de root, póngase en contacto con el equipo de soporte para su alojamiento compartido y pregúnteles.

Editar: si no se le permite el acceso a la raíz, nunca lo hará funcionar. Tendrá que cambiar de proveedor de alojamiento.

wdh
fuente
7

Ejecutar apt-get install gccen Suse Linux

Negro
fuente
debería ser: sudo zypper install gccpara Suse Linux
dave campbell
7

sudo apt install build-essential es el comando

Pero si obtiene el tipo de error " se puede encontrar el paquete ", ejecute

  • sudo apt update primero
  • luego sudo apt install build-essential

Esto funcionó para mí.

Mbigha Siggi
fuente
Trabajó para mí en Ubuntu 18.04
Liz
4

En Arch Linux ejecute lo siguiente:

sudo pacman -S base-devel

usuario6735634
fuente