ฉันพยายามติดตั้ง python3 บน RHEL โดยใช้ขั้นตอนต่อไปนี้:
yum search python3
ซึ่งกลับมา No matches found for: python3
ติดตามโดย:
yum search python
ไม่มีผลการค้นหาใดที่มี python3 ฉันควรลองอะไรต่อไป
ฉันพยายามติดตั้ง python3 บน RHEL โดยใช้ขั้นตอนต่อไปนี้:
yum search python3
ซึ่งกลับมา No matches found for: python3
ติดตามโดย:
yum search python
ไม่มีผลการค้นหาใดที่มี python3 ฉันควรลองอะไรต่อไป
คำตอบ:
ง่ายต่อการติดตั้งด้วยตนเอง:
ดาวน์โหลด (อาจมีรุ่นใหม่กว่าบนPython.org ):
$ wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tar.xz
เปิดเครื่องรูด
$ tar xf Python-3.*
$ cd Python-3.*
เตรียมการรวบรวม
$ ./configure
สร้าง
$ make
ติดตั้ง
$ make install
หรือถ้าคุณไม่ต้องการเขียนทับpython
ไฟล์ปฏิบัติการ (ปลอดภัยกว่าอย่างน้อยใน distros บางตัวyum
ต้องpython
เป็น 2.x เช่น RHEL6) - คุณสามารถติดตั้งpython3.*
เป็นอินสแตนซ์พร้อมกันกับค่าเริ่มต้นของระบบด้วยaltinstall
:
$ make altinstall
ตอนนี้ถ้าคุณต้องการไดเร็กทอรีการติดตั้งอื่นคุณสามารถส่งผ่าน--prefix
ไปยังconfigure
คำสั่ง
ตัวอย่าง: สำหรับ 'ติดตั้ง' งูใหญ่ใน / opt / --prefix=/opt/local
ท้องถิ่นเพียงแค่เพิ่ม
หลังจากmake install
ขั้นตอน: ในการใช้การติดตั้ง Python ใหม่อาจเป็นไปได้ว่าคุณยังคงต้องเพิ่ม [คำนำหน้า] / bin ใน$PATH
และ [คำนำหน้า] / lib ไปที่$LD_LIBRARY_PATH
(ขึ้นอยู่กับที่--prefix
คุณผ่าน)
no acceptable C compiler found in $PATH when installing python
กลับไปที่http://stackoverflow.com/questions/19816275/no-acceptable-c-compiler-found-in-path-when-installing-python
./configure --with-ensurepip=install
เพื่อเปิดใช้งานpip3
มิฉะนั้นคุณจะไม่ได้pip3
ติดตั้งหลังจากการคอมไพล์
โดยทั่วไปการติดตั้งจาก RPM จะดีกว่าเนื่องจาก:
Red Hat ได้เพิ่มผ่านที่เก็บ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
คุณสามารถสร้างVirtualenvของคุณโดยใช้pyvenv
:
pyvenv /tmp/foo
ด้วย CentOS7 pip3.6
มีให้เป็นแพ็คเกจ :)
sudo yum install -y epel-release
sudo yum install -y python36 python36-pip
คุณสามารถสร้างVirtualenvของคุณโดยใช้pyvenv
:
python3.6 -m venv /tmp/foo
หากคุณใช้pyvenv
สคริปต์คุณจะได้รับคำเตือน:
$ pyvenv-3.6 /tmp/foo
WARNING: the pyenv script is deprecated in favour of `python3.6 -m venv`
ชุมชน IUS มีแพ็คเกจล่าสุดสำหรับ RHEL & CentOSCentOS คนที่อยู่เบื้องหลังมาจาก Rackspace ดังนั้นฉันคิดว่าพวกเขาค่อนข้างน่าเชื่อถือ ...
ตรวจสอบ repo ที่เหมาะสมสำหรับคุณที่นี่:
sudo yum install -y https://repo.ius.io/ius-release-el6.rpm
sudo yum install -y python36u python36u-pip
คุณสามารถสร้างVirtualenvของคุณโดยใช้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
คุณสามารถสร้างVirtualenvของคุณโดยใช้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
นี่คืออักขระ Unicode: fileformat.info/info/unicode/char/200c/index.htm URL ในคำตอบเดิมของฉันใช้งานได้ฉันเพิ่งทดสอบ มัน.
python34u-pip
.
นอกจากคำตอบของ gecco แล้วฉันจะเปลี่ยนขั้นตอนที่ 3 จาก:
./configure
ถึง:
./configure --prefix=/opt/python3
หลังจากติดตั้งแล้วคุณยังสามารถ:
# ln -s /opt/python3/bin/python3 /usr/bin/python3
เพื่อให้แน่ใจว่าการติดตั้งจะไม่ขัดแย้งกับ python ที่ติดตั้งยำ
ดูคำอธิบายที่ฉันพบบนอินเทอร์เน็ต:
http://www.hosting.com/support/linux/installing-python-3-on-centosredhat-5x-from-source
/opt
? /usr/local
โดยเฉพาะที่มีอยู่เพื่อการนี้และที่ที่./configure
ไม่มีอย่างชัดเจน--prefix
จะวางไว้
export PATH=$PATH:/opt/python3/bin
นอกจาก Python 2.7 และ 3.3 แล้ว Red Hat Software Collections ยังมี Python 3.4 ซึ่งทั้งหมดทำงานได้ทั้ง RHEL 6 และ 7
เอกสาร RHSCL 2.0 อยู่ที่https://access.redhat.com/documentation/en-US/Red_Hat_Software_Collections/
รวมถึงบทความมากมายที่ developerblog.redhat.com
แก้ไข
# 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
? ผลของการใช้สิ่งนี้ในภายหลังคืออะไร?
wget https://www.softwarecollections.org/en/scls/rhscl/rh-python35/epel-6-x86_64/download/rhscl-rh-python35-epel-6-x86_64.noarch.rpm
แล้วแต่ไม่พบ
ใช้ SCL repos
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
(คำสั่งสุดท้ายนี้จะต้องถูกเรียกใช้ทุกครั้งที่คุณต้องการใช้ python27 แทนค่าเริ่มต้นของระบบ)
scl enable python33 bash
เพื่อเปิดตัวเชลล์ใหม่ซึ่งจะเปิดใช้งานสำหรับ python 3 หรือscl enable python33 'python hello.py'
ซึ่งจะเรียกใช้ไฟล์ python ของคุณโดยใช้ python 3 ในเชลล์ปัจจุบัน
subscription-manager repos --enable rhel-7-server-optional-rpms --enable rhel-server-rhscl-7-rpms
ซอฟแวร์: yum install rh-python36
จากนั้นคุณสามารถ ดูวิธีการติดตั้ง Python 3 บน RHELสำหรับข้อมูลเพิ่มเติม
เมื่อเร็ว ๆ นี้มีการเพิ่ม Python3 ใน EPEL7 เป็น Python34
มีความพยายามอย่างต่อเนื่อง (ในปัจจุบัน) ในการกำหนดหลักเกณฑ์เกี่ยวกับบรรจุภัณฑ์เกี่ยวกับวิธีการบรรจุสิ่งต่างๆสำหรับ Python3 ใน EPEL7
ดูhttps://bugzilla.redhat.com/show_bug.cgi?id=1219411
และhttps://lists.fedoraproject.org/pipermail/python-devel/2015-July/000721.html
คุณสามารถดาวน์โหลด RPM ต้นทางและ RPM ไบนารีสำหรับ RHEL6 / CentOS6 ได้จาก ที่นี่
นี่คือแบ็คพอร์ตจากรอบต่อนาทีแหล่งการพัฒนา Fedora ใหม่ล่าสุดไปยัง RHEL6 / CentOS6
createrepo
บนไดเรกทอรีเหล่านั้นอาจทำให้มีประโยชน์มากขึ้นสำหรับบางคน
baseurl
: 0bin.net/paste/…
ฉันเห็นคำตอบทั้งหมดว่าขอให้รวบรวม python3 จากโค้ดหรือติดตั้งแพ็คเกจไบนารี RPM นี่คือคำตอบอื่นในการเปิดใช้งาน EPEL (แพ็คเกจเสริมสำหรับ Enterprise Linux) จากนั้นติดตั้ง python โดยใช้ yum ขั้นตอนสำหรับ 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
sudo yum install python34-setuptools
ฉันมีปัญหาเดียวกันกับการใช้ python 2.7 ทำตามขั้นตอนด้านล่างเพื่ออัพเกรดเป็น 3.6 ได้สำเร็จ คุณยังสามารถลองใช้อันนี้ -
ดูก่อนอัปเกรดเป็น 2.x
python --version
Python 2.7.5
ใช้คำสั่งด้านล่างเพื่ออัพเกรด python ของคุณเป็นเวอร์ชัน 3.x -
ยำติดตั้ง python3x
แทนที่xด้วยหมายเลขเวอร์ชันที่คุณต้องการ
เช่นสำหรับการติดตั้ง python 3.6 execute
yum install python36
หลังจากนั้นหากคุณต้องการตั้งค่า python นี้สำหรับเวอร์ชันเริ่มต้นของคุณให้เพิ่มไฟล์bashrc
vi ~ / .bashrc
alias python='python3.6'
รันคำสั่ง bash เพื่อใช้การตั้งค่า
bash
ตอนนี้คุณสามารถดูเวอร์ชันด้านล่าง
python --version
Python 3.6.3
rh-python36
.
สามขั้นตอนโดยใช้ Python 3.5 โดยSoftware Collections :
sudo yum install centos-release-scl
sudo yum install rh-python35
scl enable rh-python35 bash
โปรดทราบว่าไม่จำเป็นต้องใช้ sudo สำหรับคำสั่งสุดท้าย ตอนนี้เราจะเห็นว่า python 3 เป็นค่าเริ่มต้นสำหรับเชลล์ปัจจุบัน:
python --version
Python 3.5.1
เพียงข้ามคำสั่งสุดท้ายหากคุณต้องการให้ Python 2 เป็นค่าเริ่มต้นสำหรับเชลล์ปัจจุบัน
ตอนนี้สมมติว่าสคริปต์ Python 3 ของคุณให้ข้อผิดพลาดเช่น/usr/bin/env: python3: No such file or directory
. นั่นเป็นเพราะการติดตั้งมักจะทำในเส้นทางที่ผิดปกติ:
/opt/rh/rh-python35/root/bin/python3
โดยปกติข้างต้นจะเป็น symlink หากคุณต้องการpython3
เพิ่มลงใน$PATH
สำหรับผู้ใช้ทั้งหมดเมื่อเริ่มต้นโดยอัตโนมัติวิธีหนึ่งที่ทำได้คือการเพิ่มไฟล์เช่น:
sudo vim /etc/profile.d/rh-python35.sh
ซึ่งจะมีบางอย่างเช่น:
#!/bin/bash
PATH=$PATH:/opt/rh/rh-python35/root/bin/
และหลังจากรีบูตแล้วถ้าเราทำ
python3 --version
มันควรจะทำงาน ข้อยกเว้นประการหนึ่งคือผู้ใช้ที่สร้างขึ้นโดยอัตโนมัติเช่น "jenkins" ในเซิร์ฟเวอร์ Jenkins ซึ่งไม่มีเชลล์ ในกรณีนั้นการเพิ่มเส้นทางไปยัง$PATH
สคริปต์ด้วยตนเองจะเป็นวิธีหนึ่งที่จะไป
สุดท้ายหากคุณกำลังใช้sudo pip3
ในการติดตั้งแพคเกจ แต่มันจะบอกคุณว่าpip3ไม่สามารถพบได้ก็อาจเป็นไปได้ว่าคุณมีsecure_pathใน/ etc / sudoers ตรวจสอบด้วยsudo visudo
ควรยืนยันว่า ในการใช้PATHมาตรฐานชั่วคราวเมื่อเรียกใช้คำสั่งคุณสามารถทำได้ตัวอย่างเช่น:
sudo env "PATH=$PATH" pip3 --version
ดูคำถามนี้สำหรับรายละเอียดเพิ่มเติม
หมายเหตุ : มี Python 3.6 ที่ใหม่กว่าโดย Software Collections แต่ฉันจะไม่แนะนำในตอนนี้เพราะฉันมีอาการปวดหัวอย่างมากในการพยายามติดตั้ง Pycurl สำหรับ Python 3.5 นั่นไม่ใช่ปัญหาเพราะฉันเพิ่งได้ผลsudo yum install sclo-python35-python-pycurl
นอกกรอบ
No package centos-release-scl available.
หากคุณใช้ RHEL และต้องการให้ Red Hat รองรับ Python ให้ใช้ Red Hat Software คอลเลกชัน (RHSCL) Red Hat ไม่รองรับแพ็คเกจ EPEL และ IUS นอกจากนี้คำตอบมากมายข้างต้นยังชี้ไปที่คอลเลกชันซอฟต์แวร์ CentOS แม้ว่าคุณจะสามารถติดตั้งได้ แต่ก็ไม่ใช่แพ็คเกจที่ Red Hat รองรับสำหรับ RHEL
คำตอบนอกจากนี้ด้านบนได้รับการโหวตให้คำแนะนำที่ไม่ดี - วันที่ RHEL คุณไม่ต้องการให้มีการเปลี่ยนแปลง/usr/bin/python
, /usr/bin/python2
เพราะคุณมีแนวโน้มที่จะทำลายyum
และเครื่องมือผู้ดูแลระบบ RHEL อื่น ๆ ลองดู/bin/yum
มันเป็นสคริปต์ Python ที่ขึ้นต้นด้วย#!/usr/bin/python
. หากคุณรวบรวม Python จากซอร์สอย่าทำเป็นmake install
รูท /usr/bin/python
ที่จะเขียนทับ ถ้าคุณทำลายyum
อาจเป็นเรื่องยากที่จะกู้คืนระบบของคุณ
สำหรับข้อมูลเพิ่มเติมโปรดดูที่วิธีการติดตั้งหลาม 3 pip, venv, virtualenv และ pipenv บน RHELบนdevelopers.redhat.com ครอบคลุมถึงการติดตั้งและใช้ Python 3 จาก RHSCL โดยใช้ Python Virtual En Environment และเคล็ดลับมากมายสำหรับการทำงานกับคอลเลกชันซอฟต์แวร์และการทำงานกับ Python บน RHEL
โดยสรุปในการติดตั้ง Python 3.6 ผ่าน Red Hat Software Collections:
$ 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
ในการใช้คอลเลคชันซอฟต์แวร์คุณต้องเปิดใช้งาน:
scl enable rh-python36 bash
อย่างไรก็ตามหากคุณต้องการเปิดใช้งาน Python 3 อย่างถาวรคุณสามารถเพิ่มสิ่งต่อไปนี้ใน ~ / .bashrc ของคุณจากนั้นออกจากระบบและกลับเข้ามาใหม่อีกครั้ง ตอนนี้ Python 3 อยู่ในเส้นทางของคุณอย่างถาวร
# Add RHSCL Python 3 to my login environment
source scl_source enable rh-python36
หมายเหตุ: เมื่อคุณทำเช่นนั้นการพิมพ์python
จะให้ Python 3.6 แทน Python 2.7
ดูบทความด้านบนสำหรับข้อมูลทั้งหมดนี้และรายละเอียดเพิ่มเติมมากมาย
หากคุณต้องการแพ็คเกจ RHEL อย่างเป็นทางการคุณสามารถใช้ RHSCL (Red Hat Software Collections)
รายละเอียดเพิ่มเติม:
คุณต้องมีสิทธิ์เข้าถึง Red Hat Customer Portal เพื่ออ่านบทความฉบับเต็ม
นี่คือขั้นตอนที่ฉันทำตามเพื่อติดตั้ง 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
ใช้งานได้ถ้าคุณได้epel-release
ติดตั้งซึ่งคำตอบนี้จะอธิบายวิธีการและฉันยืนยันว่ามันใช้งานได้RHEL 7.3
$ cat /etc/*-release
NAME="Red Hat Enterprise Linux Server"
VERSION="7.3 (Maipo)
$ type python3
python3 is hashed (/usr/bin/python3)
สำหรับ RHEL บน Amazon Linux โดยใช้ python3 ฉันต้องทำ:
sudo yum ติดตั้ง python34-devel
No package python34-devel available.
ทำงานเต็ม 36 เมื่อไม่มี SCL (ขึ้นอยู่กับอินพุต 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
เปิดใช้งานสภาพแวดล้อมในที่สุด ...
pyvenv-3.6 py3
source py3/bin/activate
แล้ว python3
คุณสามารถติดตั้ง miniconda ( https://conda.io/miniconda.html ) นั่นเป็นมากกว่า python 3.7 เล็กน้อย แต่การติดตั้งนั้นตรงไปตรงมาและเรียบง่ายมาก
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O
sudo yum install bzip2
bash Miniconda3-latest-Linux-x86_64.sh
คุณจะต้องยอมรับข้อตกลงใบอนุญาตและเลือกตัวเลือกบางอย่างในโหมดโต้ตอบ (ยอมรับค่าเริ่มต้น) ฉันเชื่อว่ามันสามารถติดตั้งได้อย่างเงียบ ๆ
python
คำสั่งที่แท้จริงในภายหลังมันถูกห่อหรือไม่?
สำหรับผู้ที่ทำงานบน AWS EC2 RHEL 7.5 ( ใช้ sudo ) เปิดใช้งาน repos ที่จำเป็น
yum-config-manager --enable rhui-REGION-rhel-server-optional
yum-config-manager --enable rhui-REGION-rhel-server-rhscl
ติดตั้ง Python 3.6
yum install rh-python36
ติดตั้งการอ้างอิงอื่น ๆ
yum install rh-python36-numpy rh-python36-scipy rh-python36-python-tools rh-python36-python-six