Tôi đang cố gắng cài đặt python3 trên RHEL bằng các bước sau:
yum search python3
Mà trả lại No matches found for: python3
Theo dõi bởi:
yum search python
Không có kết quả tìm kiếm nào chứa python3. Tôi nên thử gì tiếp theo?
Tôi đang cố gắng cài đặt python3 trên RHEL bằng các bước sau:
yum search python3
Mà trả lại No matches found for: python3
Theo dõi bởi:
yum search python
Không có kết quả tìm kiếm nào chứa python3. Tôi nên thử gì tiếp theo?
Câu trả lời:
Thật dễ dàng để cài đặt nó bằng tay:
Tải xuống (có thể có các bản phát hành mới hơn trên Python.org ):
$ wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tar.xz
Giải nén
$ tar xf Python-3.*
$ cd Python-3.*
Chuẩn bị biên soạn
$ ./configure
Xây dựng
$ make
Tải về
$ make install
HOẶC nếu bạn không muốn ghi đè lên python
tệp thực thi (an toàn hơn, ít nhất là trên một số bản phân phối yum
cần python
phải là 2.x, chẳng hạn như đối với RHEL6) - bạn có thể cài đặt python3.*
làm phiên bản đồng thời vào mặc định của hệ thống với altinstall
:
$ make altinstall
Bây giờ nếu bạn muốn một thư mục cài đặt thay thế, bạn có thể chuyển --prefix
đến configure
lệnh.
Ví dụ: để 'cài đặt' Python trong / opt / local, chỉ cần thêm --prefix=/opt/local
.
Sau make install
bước: Để sử dụng cài đặt Python mới của bạn, có thể là bạn vẫn phải thêm [tiền tố] / bin vào $PATH
và [tiền tố] / lib cho $LD_LIBRARY_PATH
(tùy thuộc vào --prefix
bạn đã vượt qua)
no acceptable C compiler found in $PATH when installing python
đến http://stackoverflow.com/questions/19816275/no-acceptable-c-compiler-found-in-path-when-installing-python
./configure --with-ensurepip=install
để kích hoạt pip3
hoặc bạn sẽ không pip3
cài đặt sau khi biên dịch.
Cài đặt từ RPM thường tốt hơn, bởi vì:
Red Hat đã thêm thông qua kho EPEL :
sudo yum install -y epel-release
sudo yum install -y python34
# Install pip3
sudo yum install -y python34-setuptools # install easy_install-3.4
sudo easy_install-3.4 pip
Bạn có thể tạo virtualenv của mình bằng cách sử dụng pyvenv
:
pyvenv /tmp/foo
Với CentOS7, pip3.6
được cung cấp dưới dạng gói :)
sudo yum install -y epel-release
sudo yum install -y python36 python36-pip
Bạn có thể tạo virtualenv của mình bằng cách sử dụng pyvenv
:
python3.6 -m venv /tmp/foo
Nếu bạn sử dụng pyvenv
tập lệnh, bạn sẽ nhận được CẢNH BÁO:
$ pyvenv-3.6 /tmp/foo
WARNING: the pyenv script is deprecated in favour of `python3.6 -m venv`
Cộng đồng IUS cung cấp một số gói cập nhật cho RHEL & CentOS . Những kẻ đứng sau đến từ Rackspace, vì vậy tôi nghĩ rằng họ khá đáng tin ...
Kiểm tra repo đúng cho bạn ở đây:
sudo yum install -y https://repo.ius.io/ius-release-el6.rpm
sudo yum install -y python36u python36u-pip
Bạn có thể tạo virtualenv của mình bằng cách sử dụng pyvenv
:
python3.6 -m venv /tmp/foo
sudo yum install -y https://repo.ius.io/ius-release-el7.rpm
sudo yum install -y python36u python36u-pip
Bạn có thể tạo virtualenv của mình bằng cách sử dụng pyvenv
:
python3.6 -m venv /tmp/foo
https://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/iu<200c><200b>s-release-1.0-14.ius.centos6.noarch.rpm
Đây là ký tự unicode: fileformat.info/info/unicode/char/200c/index.htmlm URL trong câu trả lời ban đầu của tôi hoạt động, tôi vừa kiểm tra nó
python34u-pip
.
Ngoài câu trả lời của gecco, tôi sẽ thay đổi bước 3 từ:
./configure
đến:
./configure --prefix=/opt/python3
Sau khi cài đặt, bạn cũng có thể:
# ln -s /opt/python3/bin/python3 /usr/bin/python3
Đó là để đảm bảo rằng cài đặt sẽ không xung đột với python được cài đặt với yum.
Xem giải thích tôi đã tìm thấy trên Internet:
http://www.hosting.com/support/linux/installing-python-3-on-centosredhat-5x-from-source
/opt
? /usr/local
đặc biệt tồn tại cho mục đích này và đó là nơi ./configure
không có rõ ràng --prefix
sẽ đặt nó.
export PATH=$PATH:/opt/python3/bin
Cùng với Python 2.7 và 3.3, Bộ sưu tập phần mềm Red Hat hiện bao gồm Python 3.4 - tất cả đều hoạt động trên cả RHEL 6 và 7.
Các tài liệu của RHSCL 2.0 có tại https://access.redhat.com/documentation/en-US/Red_Hat_Software_Collections/
Cộng với rất nhiều bài viết tại developerblog.redhat.com.
biên tập
# 1. Install the Software Collections tools:
yum install scl-utils
# 2. Download a package with repository for your system.
# (See the Yum Repositories on external link. For RHEL/CentOS 6:)
wget https://www.softwarecollections.org/en/scls/rhscl/rh-python34/epel-6-x86_64/download/rhscl-rh-python34-epel-6-x86_64.noarch.rpm
# or for RHEL/CentOS 7
wget https://www.softwarecollections.org/en/scls/rhscl/rh-python34/epel-7-x86_64/download/rhscl-rh-python34-epel-7-x86_64.noarch.rpm
# 3. Install the repo package (on RHEL you will need to enable optional channel first):
yum install rhscl-rh-python34-*.noarch.rpm
# 4. Install the collection:
yum install rh-python34
# 5. Start using software collections:
scl enable rh-python34 bash
scl enable rh-python34 bash
? Ý nghĩa của việc sử dụng này sau này là gì?
wget https://www.softwarecollections.org/en/scls/rhscl/rh-python35/epel-6-x86_64/download/rhscl-rh-python35-epel-6-x86_64.noarch.rpm
, nhưng nó không được tìm thấy.
Sử dụng repos SCL.
sudo sh -c 'wget -qO- http://people.redhat.com/bkabrda/scl_python33.repo >> /etc/yum.repos.d/scl.repo'
sudo yum install python33
scl enable python27
(Lệnh cuối cùng này sẽ phải được chạy mỗi lần bạn muốn sử dụng python27 thay vì mặc định của hệ thống.)
scl enable python33 bash
để khởi chạy shell mới sẽ được kích hoạt cho python 3 hoặc scl enable python33 'python hello.py'
sẽ chạy tệp python của bạn bằng python 3 trong shell hiện tại
subscription-manager repos --enable rhel-7-server-optional-rpms --enable rhel-server-rhscl-7-rpms
. Sau đó, bạn có thể yum install rh-python36
. Xem Cách cài đặt Python 3 trên RHEL để biết thêm thông tin.
Python3 gần đây đã được thêm vào EPEL7 với tên Python34.
Hiện đang có nỗ lực (hiện tại) để đưa ra các hướng dẫn đóng gói về cách đóng gói mọi thứ cho Python3 trong EPEL7.
Xem https://ormszilla.redhat.com/show_orms.cgi?id=1219411
và https://lists.fedoraproject.org/pipermail/python-devel/2015-July/000721.html
Bạn có thể tải xuống một RPM nguồn và RPM nhị phân cho RHEL6 / CentOS6 từ đây
Đây là một backport từ vòng / phút nguồn phát triển Fedora mới nhất đến RHEL6 / CentOS6
createrepo
trên các thư mục đó sẽ làm cho chúng thậm chí hữu ích hơn đối với một số người.
baseurl
: 0bin.net/paste/iêu
Tôi thấy tất cả các câu trả lời khi yêu cầu biên dịch python3 từ mã hoặc cài đặt gói RPM nhị phân. Đây là một câu trả lời khác để kích hoạt EPEL (Gói bổ sung cho Enterprise Linux) và sau đó cài đặt python bằng yum. Các bước cho RHEL 7.5 (Maipo)
yum install wget –y
wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
rpm –ivh epel-*.rpm
yum install python36
Cũng xem liên kết
sudo yum install python34-setuptools
Tôi gặp vấn đề tương tự khi sử dụng python 2.7. Thực hiện theo các bước dưới đây để nâng cấp thành công lên 3.6. Bạn cũng có thể thử cái này-
Xem trước khi nâng cấp phiên bản là 2.x
python --version
Python 2.7.5
Sử dụng lệnh dưới đây để nâng cấp python của bạn lên phiên bản 3.x-
yum cài đặt python3x
thay x bằng số phiên bản bạn muốn.
tức là để cài đặt python 3.6 thực thi
yum install python36
Sau đó, nếu bạn muốn đặt python này cho phiên bản mặc định của mình thì trong tệp bashrc thêm
vi ~ / .bashrc
alias python='python3.6'
thực hiện lệnh bash để áp dụng các cài đặt
bash
Bây giờ bạn có thể xem phiên bản dưới đây
python --version
Python 3.6.3
rh-python36
.
Ba bước sử dụng Python 3.5 của Bộ sưu tập phần mềm :
sudo yum install centos-release-scl
sudo yum install rh-python35
scl enable rh-python35 bash
Lưu ý rằng sudo là không cần thiết cho lệnh cuối cùng. Bây giờ chúng ta có thể thấy rằng python 3 là mặc định cho shell hiện tại:
python --version
Python 3.5.1
Chỉ cần bỏ qua lệnh cuối cùng nếu bạn muốn có Python 2 làm mặc định cho trình bao hiện tại.
Bây giờ hãy nói rằng các tập lệnh Python 3 của bạn cung cấp cho bạn một lỗi như thế nào /usr/bin/env: python3: No such file or directory
. Đó là bởi vì việc cài đặt thường được thực hiện theo một đường dẫn khác thường:
/opt/rh/rh-python35/root/bin/python3
Ở trên thường là một liên kết tượng trưng. Nếu bạn muốn python3
được tự động thêm vào $PATH
cho tất cả người dùng khi khởi động, một cách để làm điều này là thêm một tệp như:
sudo vim /etc/profile.d/rh-python35.sh
Mà sẽ có cái gì đó như:
#!/bin/bash
PATH=$PATH:/opt/rh/rh-python35/root/bin/
Và bây giờ sau khi khởi động lại, nếu chúng ta làm
python3 --version
Nó chỉ nên làm việc. Một ngoại lệ sẽ là người dùng được tạo tự động như "jenkins" trong máy chủ Jenkins không có vỏ. Trong trường hợp đó, việc thêm đường dẫn $PATH
vào tập lệnh theo cách thủ công sẽ là một cách để đi.
Cuối cùng, nếu bạn đang sử dụng sudo pip3
để cài đặt các gói, nhưng nó cho bạn biết rằng không thể tìm thấy pip3 , thì đó có thể là bạn có Secure_path trong / etc / sudoers . Kiểm tra vớisudo visudo
nên xác nhận rằng. Để tạm thời sử dụng PATH tiêu chuẩn khi chạy các lệnh bạn có thể làm, ví dụ:
sudo env "PATH=$PATH" pip3 --version
Xem câu hỏi này để biết thêm chi tiết.
LƯU Ý : Có một Bộ sưu tập phần mềm Python 3.6 mới hơn, nhưng tôi không khuyên dùng nó vào lúc này, vì tôi bị đau đầu khi cố gắng cài đặt Pycurl. Đối với Python 3.5, đó không phải là vấn đề vì tôi vừa mới làm sudo yum install sclo-python35-python-pycurl
việc đó.
No package centos-release-scl available.
Nếu bạn đang sử dụng RHEL và muốn Python hỗ trợ Red Hat, hãy sử dụng các bộ sưu tập Phần mềm Red Hat (RHSCL). Các gói EPEL và IUS không được Red Hat hỗ trợ. Ngoài ra nhiều câu trả lời ở trên chỉ ra bộ sưu tập phần mềm CentOS. Mặc dù bạn có thể cài đặt chúng, nhưng chúng không phải là các gói được hỗ trợ của Red Hat cho RHEL.
Ngoài ra, câu trả lời được bình chọn hàng đầu đưa ra lời khuyên tồi - Trên RHEL bạn không muốn thay đổi /usr/bin/python
, /usr/bin/python2
vì bạn có thể sẽ phá vỡ yum
và các công cụ quản trị khác của RHEL. Hãy xem /bin/yum
, nó là một kịch bản Python bắt đầu bằng #!/usr/bin/python
. Nếu bạn biên dịch Python từ nguồn, đừng làm make install
root. Điều đó sẽ ghi đè lên /usr/bin/python
. Nếu bạn phá vỡ yum
nó có thể khó khôi phục hệ thống của bạn.
Để biết thêm thông tin, hãy xem Cách cài đặt Python 3, pip, venv, virtualenv và pipenv trên RHEL trên developers.redhat.com . Nó bao gồm việc cài đặt và sử dụng Python 3 từ RHSCL, sử dụng Môi trường ảo Python và một số mẹo để làm việc với các bộ sưu tập phần mềm và làm việc với Python trên RHEL.
Tóm lại, để cài đặt Python 3.6 thông qua Bộ sưu tập phần mềm Red Hat:
$ su -
# subscription-manager repos --enable rhel-7-server-optional-rpms \
--enable rhel-server-rhscl-7-rpms
# yum -y install @development
# yum -y install rh-python36
# yum -y install rh-python36-numpy \
rh-python36-scipy \
rh-python36-python-tools \
rh-python36-python-six
Để sử dụng bộ sưu tập phần mềm, bạn phải kích hoạt nó:
scl enable rh-python36 bash
Tuy nhiên, nếu bạn muốn Python 3 được bật vĩnh viễn, bạn có thể thêm phần sau vào ~ / .bashrc và sau đó đăng xuất và đăng nhập lại. Bây giờ Python 3 là vĩnh viễn trong đường dẫn của bạn.
# Add RHSCL Python 3 to my login environment
source scl_source enable rh-python36
Lưu ý: một khi bạn làm điều đó, việc gõ python
bây giờ sẽ cung cấp cho bạn Python 3.6 thay vì Python 2.7.
Xem bài viết trên cho tất cả điều này và nhiều chi tiết hơn.
Nếu bạn muốn các gói RHEL chính thức, bạn có thể sử dụng RHSCL (Bộ sưu tập phần mềm Red Hat)
Thêm chi tiết:
Bạn phải có quyền truy cập Cổng thông tin khách hàng của Red Hat để đọc các bài báo đầy đủ.
Dưới đây là các bước tôi làm theo để cài đặt Python3:
yum install wget
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
sudo tar xvf Python-3.*
cd Python-3.*
sudo ./configure --prefix=/opt/python3
sudo make
sudo make install
sudo ln -s /opt/python3/bin/python3 /usr/bin/python3
$ /usr/bin/python3
Python 3.6.0
yum install python34.x86_64
hoạt động nếu bạn đã epel-release
cài đặt, câu trả lời này giải thích cách thực hiện và tôi xác nhận nó đã hoạt động trênRHEL 7.3
$ cat /etc/*-release
NAME="Red Hat Enterprise Linux Server"
VERSION="7.3 (Maipo)
$ type python3
python3 is hashed (/usr/bin/python3)
Đối với RHEL trên Amazon Linux, sử dụng python3 tôi phải thực hiện:
sudo yum cài đặt python34-devel
No package python34-devel available.
Làm việc hoàn toàn 36 khi SCL không khả dụng (dựa trên đầu vào Joys)
yum install wget –y
wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
rpm –ivh epel-*.rpm
yum install python36
sudo yum install python34-setuptools
sudo mkdir /usr/local/lib/python3.6
sudo mkdir /usr/local/lib/python3.6/site-packages
sudo easy_install-3.6 pip
Cuối cùng kích hoạt môi trường ...
pyvenv-3.6 py3
source py3/bin/activate
Sau đó trăn3
Bạn có thể cài đặt miniconda ( https://conda.io/miniconda.html ). Đó là một chút nhiều hơn so với chỉ python 3.7 nhưng việc cài đặt rất đơn giản và đơn giản.
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O
sudo yum install bzip2
bash Miniconda3-latest-Linux-x86_64.sh
Bạn sẽ phải chấp nhận thỏa thuận cấp phép và chọn một số tùy chọn trong chế độ tương tác (chấp nhận mặc định). Tôi tin rằng nó cũng có thể được cài đặt âm thầm bằng cách nào đó.
python
lệnh thực tế sau đó, nó được bao bọc?
Đối với những người làm việc trên AWS EC2 RHEL 7.5, ( sử dụng sudo ) kích hoạt các repos cần thiết
yum-config-manager --enable rhui-REGION-rhel-server-optional
yum-config-manager --enable rhui-REGION-rhel-server-rhscl
Cài đặt Python 3.6
yum install rh-python36
Cài đặt các phụ thuộc khác
yum install rh-python36-numpy rh-python36-scipy rh-python36-python-tools rh-python36-python-six