không tìm thấy trình biên dịch C có thể chấp nhận được trong $ PATH khi cài đặt python


240

Tôi đang cố gắng cài đặt môi trường python mới trên lưu trữ được chia sẻ của mình. Tôi làm theo các bước được viết trong bài này :

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

Sau khi đến với lệnh..

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.

Làm thế nào để giải quyết vấn đề này? Tôi đã cố gắng tìm giải pháp trong 3 giờ nhưng vẫn bị kẹt ở một nơi.

CẬP NHẬT

Hostgator không cho phép gcc trên các tài khoản được chia sẻ của họ: http://support.hostgator.com/articles/pre-sales-questions/compiverse-technology


chính xác cùng một vấn đề
blamb

Bạn nên cố gắng tìm các nhị phân prebuild cho hệ thống của bạn. Đó là cách dễ nhất nếu bạn không có quyền truy cập root.
C. Yduqoli

Câu trả lời:


445

Trình biên dịch gcc không có trong của bạn $PATH. Điều đó có nghĩa là bạn chưa cài đặt gcc hoặc nó không nằm trong biến $ PATH của bạn.

Để cài đặt gcc, hãy sử dụng: (chạy bằng root)

  • Cơ sở Redhat:

    yum groupinstall "Development Tools"
  • Cơ sở Debian:

    apt-get install build-essential

11
Tôi thích các phương pháp cài đặt build-Essential , có chứa gcc, g ++, make, v.v.
Spectral

2
Có một sự thay thế cho zypper?
Almino Melo

1
Đây là lưu trữ được chia sẻ, làm thế nào đây thậm chí là một giải pháp được chấp nhận? Chúng ta cần python, trong các trường hợp đến cho nút, cũng là cấp độ người dùng, không có root. đây là một công cụ thỏa thuận cho tất cả điều này, cần root. đây được coi là một thủ tục không root IMO
blamb

1
Trên thực tế nó yum groupinstall "Phát triển T ools" trong CentOS 7
Francesco Gualazzi

3
Làm thế nào bạn sẽ xác định nếu nó được cài đặt nhưng không phải trong biến $ PATH của bạn?
JMess

81

bạn cần phải chạy

yum install gcc

3
Đã làm việc trên CentOS 7. Cảm ơn
Faliorn 24/2/2016

Hoạt động trên Debian 4.9. Cảm ơn
Jad Chahine

Đã làm việc trên CentOS 8. Cảm ơn
twasbrillig

Tôi đang gặp lỗi "Lỗi khi truy cập tệp cho tệp cấu hình: ///etc/yum.conf". Tôi có lưu trữ chia sẻ Bluehost.
Paul Chris Jones

Xin chào @PaulChrisJones, tôi gặp vấn đề tương tự khi tôi thử cài đặt gcc trong acc lưu trữ blueshot của mình bằng ssh. Tôi chạy vào đây vì tập tin cấu hình của tôi không chạy. Nếu bạn quản lý để tìm một giải pháp xin vui lòng cho tôi biết. Nó sẽ rất hữu ích!
Mật ong Khandelwal

66

cho Ubuntu / Debian:

# sudo apt-get install build-essential

Đối với RHEL / CentOS

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

hoặc là

 # yum groupinstall "Development tools" -y

Thêm chi tiết tham khảo liên kết


58

Bạn sẽ cần phải chạy

sudo apt-get install build-essential

đầu tiên giả sử bạn đang sử dụng hệ thống gỡ lỗi / ubfox


1
Tôi đã nhận được phản hồi này sau khi nhập mã của bạn: sudo: không thể mkdir / var / db / sudo: Không có tệp hoặc thư mục như vậy Chúng tôi tin rằng bạn đã nhận được bài giảng thông thường từ Quản trị viên hệ thống cục bộ. Nó thường nắm rõ ba điều sau: # 1) Tôn trọng quyền riêng tư của người khác. # 2) Suy nghĩ trước khi bạn gõ. # 3) Với sức mạnh lớn đi kèm với trách nhiệm lớn. [sudo] mật khẩu cho <usrname>: <usrname> không có trong tệp sudoers. Sự cố này sẽ được báo cáo.
mik.ro

1
bạn đang sử dụng bản phân phối nào?
vahid abdi

@ mik.ro bạn đang chạy hệ điều hành / phân phối nào. Bạn có đăng nhập với quyền root không?
Tom Swifty

Tôi đang sử dụng hostgator, nó trên CentOS x86.
mik.ro

1
Ok, tôi đã kiểm tra trang web của máy chủ lưu trữ và giải pháp rất đơn giản và đáng buồn: họ không cho phép gcc trên liên kết máy chủ được chia sẻ của họ Nếu có ai có ý tưởng, làm cách nào tôi có thể cài đặt một bản phân phối python khác trên lưu trữ được chia sẻ của họ .
mik.ro

12

Bạn sẽ cần phải cài đặt nó dưới dạng không root, vì lưu trữ được chia sẻ của nó. Đây là một tut chỉ ra bước này. http://luiarthur.github.io/gccinstall

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

hoặc nguồn gcc tương đương, sau đó

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

sau đó thêm vào .bashrc hoặc tương đương

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
khi thực thi $PWD/../gcc-5.2.0/configure --prefix=$HOME/gcc-5.2.0 --enable-languages=c,c++,fortran,govẫn dẫn đến cấu hình
Tony Chou

Tôi đã nhận được "configure: error: không có trình biên dịch C có thể chấp nhận được tìm thấy trong $ PATH" khi thực thi $ PWD ... Có giải pháp nào được biết không ???
Terry

12

Nếu bạn đang sử dụng alphine với docker, hãy làm điều này:

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

2
apk add --no-cache git autoconf automake gawk build-base
srghma

9

Yêu cầu ai đó có quyền truy cập vào tài khoản root trên máy chủ đó để chạy sudo apt-get install build-essential . Nếu bạn không biết ai có quyền truy cập root, hãy liên hệ với nhóm hỗ trợ cho việc lưu trữ được chia sẻ của bạn và hỏi họ.

Chỉnh sửa: Nếu bạn không được phép truy cập vào root, bạn sẽ không bao giờ làm cho nó hoạt động. Tôi sẽ phải thay đổi nhà cung cấp dịch vụ lưu trữ Tôi sợ.



7

sudo apt install build-essential là lệnh

Nhưng nếu bạn gặp loại lỗi " có thể tìm thấy gói ", hãy chạy

  • sudo apt update Đầu tiên
  • sau đó sudo apt install build-essential

Điều này làm việc cho tôi.


Làm việc cho tôi trên Ubuntu 18.04
Liz

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.