nie znaleziono akceptowalnego kompilatora C w $ PATH podczas instalacji Pythona

241

Próbuję zainstalować nowe środowisko Python na moim hostingu współdzielonym. Postępuję zgodnie z zapisanymi krokami tym poście :

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

Po przejściu do polecenia „./configure --prefix = / home //. Localpython” otrzymuję następujące dane wyjściowe:

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.

Jak rozwiązać ten problem? Próbowałem znaleźć rozwiązanie przez 3 godziny, ale wciąż utknąłem w jednym miejscu.

AKTUALIZACJA

Hostgator nie zezwala na używanie gcc na ich wspólnych kontach: http://support.hostgator.com/articles/pre-sales-questions/compatible-technologies

mik.ro
źródło
dokładnie ten sam problem
blamb
Powinieneś spróbować znaleźć binaria prebuild dla twojego systemu. Jest to najprostszy sposób, jeśli nie masz dostępu do konta root.
C. Yduqoli

Odpowiedzi:

447

Kompilatora gcc nie ma w twoim $PATH. Oznacza to, że albo nie masz zainstalowanego gcc, albo nie ma go w zmiennej $ PATH.

Aby zainstalować gcc, użyj tego: (uruchom jako root)

  • Baza Redhat:

    yum groupinstall "Development Tools"
  • Baza Debiana:

    apt-get install build-essential
Vahid Abdi
źródło
11
Lubię metody instalowania programu build-essential , który zawiera gcc, g ++, make itp.
Spectral
2
Czy istnieje alternatywa dla zyppera?
Almino Melo
1
to jest hosting dzielony, w jaki sposób jest to nawet zaakceptowane rozwiązanie? potrzebujemy pytona, w niektórych przypadkach dla węzła, który również wchodzi jako poziom użytkownika, bez roota. jest to przełom w tym wszystkim, wymagający rootowania. ma to być procedura
inna
1
Właściwie to yum groupinstall "Rozwój T ools" w CentOS 7
Francesco Gualazzi
3
Jak ustaliłbyś, czy jest zainstalowany, ale nie w zmiennej $ PATH?
JMess
82

musisz biec

yum install gcc
mlowton
źródło
3
Pracowałem nad CentOS 7. Dzięki
Faliorn
Pracował nad Debianem 4.9. Dzięki
Jad Chahine,
Pracowałem nad CentOS 8. Dzięki
twasbrillig
Pojawia się błąd „Błąd dostępu do pliku dla pliku konfiguracyjnego: ///etc/yum.conf”. Mam hostingu dzielonego Bluehost.
Paul Chris Jones
Hej @PaulChrisJones, napotkałem ten sam problem, gdy próbowałem zainstalować gcc na moim accu hostingowym blueshot przy użyciu ssh. Natknąłem się na to, ponieważ mój plik konfiguracji nie chce się uruchomić. Jeśli udało Ci się znaleźć rozwiązanie, daj mi znać. Byłoby to bardzo pomocne!
Honey Khandelwal
66

dla Ubuntu / Debian:

# sudo apt-get install build-essential

Dla RHEL / CentOS

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

lub

 # yum groupinstall "Development tools" -y

Więcej szczegółów znajdziesz w linku

lakshmikandan
źródło
58

Musisz biec

sudo apt-get install build-essential

po pierwsze, zakładając, że korzystasz z systemu debain / ubuntu

Tom Swifty
źródło
1
Otrzymałem tę odpowiedź po wpisaniu kodu: sudo: nie można mkdir / var / db / sudo: Brak takiego pliku lub katalogu Ufamy, że otrzymałeś zwykły wykład od lokalnego administratora systemu. Zwykle sprowadza się do trzech rzeczy: # 1) Szanuj prywatność innych. # 2) Zastanów się, zanim napiszesz. # 3) Z wielką mocą wiąże się wielka odpowiedzialność. [sudo] hasło do <usrname>: <usrname> nie ma w pliku sudoers. Ten incydent zostanie zgłoszony.
mik.ro
1
z której dystrybucji korzystasz?
vahid abdi
@ mik.ro z jakiego systemu operacyjnego / dystrybucji korzystasz. Czy przypadkiem jesteś zalogowany jako root?
Tom Swifty,
używam hostgatora, jest na CentOS x86.
mik.ro
1
Ok, sprawdziłem witrynę hostgator, a rozwiązanie jest bardzo proste i smutne: nie pozwalają linkowi gcc na udostępnionych serwerach link Jeśli ktoś ma pomysł, w jaki sposób mogę zainstalować kolejną dystrybucję Pythona na dzielonym hostingu docenię to .
mik.ro
12

Musisz go zainstalować jako root, ponieważ jest to hosting współdzielony. Oto tut, który wskazuje, jak ten krok. http://luiarthur.github.io/gccinstall

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

lub równoważne źródło 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

następnie dodaj do .bashrc lub odpowiednika

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
blamb
źródło
10
gdy wykonanie $PWD/../gcc-5.2.0/configure --prefix=$HOME/gcc-5.2.0 --enable-languages=c,c++,fortran,gonadal powoduje ten sam błąd konfiguracji: błąd: nie znaleziono akceptowalnego kompilatora C w $ PATH
Tony Chou
Po wykonaniu $ PWD otrzymałem komunikat „konfiguruj: błąd: nie znaleziono akceptowalnego kompilatora C w $ PATH” ... Czy istnieje znane rozwiązanie?
Terry,
12

Jeśli używasz alfa z dokerem, wykonaj następujące czynności:

apk --update add gcc make g++ zlib-dev
Sahith Vibudhi
źródło
3
apk add --no-cache git autoconf automake gawk build-base
srghma,
9

Uzyskaj kogoś z dostępem do konta root na tym serwerze, aby uruchomić sudo apt-get install build-essential. Jeśli nie wiesz, kto ma dostęp do konta root, skontaktuj się z zespołem wsparcia dla swojego hostingu współdzielonego i zapytaj go.

Edycja: Jeśli nie masz dostępu do roota, nigdy go nie uruchomisz. Obawiam się, że będziesz musiał zmienić dostawcę hostingu.

wdh
źródło
7

Uruchom apt-get install gccw Suse Linux

czarny
źródło
powinno być: sudo zypper install gccdla Suse Linux
dave campbell
7

sudo apt install build-essential to polecenie

Ale jeśli pojawi się błąd „ pakiet można znaleźć ”, uruchom

  • sudo apt update pierwszy
  • następnie sudo apt install build-essential

To zadziałało dla mnie.

Mbigha Siggi
źródło
Pracowałem dla mnie na Ubuntu 18.04
Liz
4

W Arch Linux uruchom następujące polecenie:

sudo pacman -S base-devel

użytkownik6735634
źródło