การติดตั้ง Python 3 บน RHEL


128

ฉันพยายามติดตั้ง python3 บน RHEL โดยใช้ขั้นตอนต่อไปนี้:

yum search python3

ซึ่งกลับมา No matches found for: python3

ติดตามโดย:

yum search python

ไม่มีผลการค้นหาใดที่มี python3 ฉันควรลองอะไรต่อไป


ฉันสงสัยว่า RHEL ยังไม่รวม Python 3 คุณอาจสามารถติดตั้ง RPM ที่สร้างขึ้นสำหรับ Fedora ได้: admin.fedoraproject.org/pkgdb/acls/name/python3
Thomas K

คุณสามารถติดตั้งจากแหล่งที่มาได้ตลอดเวลา
Dougal

เพียงสังเกตคำขอตรวจสอบ EPEL สำหรับ Python 3.4 ที่นี่: bugzilla.redhat.com/show_bug.cgi?id=1219411เมื่อแก้ไขแล้วฉัน (หรือคนอื่น) จะโพสต์คำตอบใหม่พร้อมรายละเอียด EPEL
ncoghlan

2
คำตอบของ Samuel Phan โดยใช้ Community yum repos นั้นดีกว่าการสร้างจากแหล่งที่มาด้วยเหตุผลที่ Samuel ระบุไว้ คุณควรเปลี่ยนคำตอบที่ยอมรับเป็นของเขา
Edward Ned Harvey

คำตอบ:


186

ง่ายต่อการติดตั้งด้วยตนเอง:

  1. ดาวน์โหลด (อาจมีรุ่นใหม่กว่าบนPython.org ):

    $ wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tar.xz
  2. เปิดเครื่องรูด

    $ tar xf Python-3.* 
    $ cd Python-3.*
  3. เตรียมการรวบรวม

    $ ./configure
  4. สร้าง

    $ make
  5. ติดตั้ง

    $ 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คุณผ่าน)


9
คุณใช้: bzip2 -cd Python-3.2.2.tar.bz2 | tar xvf - นี่ก็เป็น posiblity ที่ง่ายกว่าเช่นกัน: tar jxvf Python-3.2.2.tar.bz2
rajadhiraja

1
ฉันได้ 301 (ย้าย) ไปยัง 404 เมื่อใช้ bz2 tar ฉันเปลี่ยนเป็น. tgz และดาวน์โหลดได้ดี
Caleb

2
และสำหรับฉันไบนารีผลลัพธ์มีชื่อว่า python3.5 และอยู่ที่นี่: [root @ machine python3.5] # ซึ่ง python3.5 /usr/local/bin/python3.5ดังนั้นคุณอาจต้องการเพิ่ม symlink ให้กับชื่อนี้python3เพื่อความสะดวก
Will

6
หากคุณได้รับการตอบ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
bnu

3
./configure --with-ensurepip=installเพื่อเปิดใช้งานpip3มิฉะนั้นคุณจะไม่ได้pip3ติดตั้งหลังจากการคอมไพล์
Searene

238

โดยทั่วไปการติดตั้งจาก RPM จะดีกว่าเนื่องจาก:

  • คุณสามารถติดตั้งและถอนการติดตั้ง (อย่างถูกต้อง) python3
  • เวลาการติดตั้งเป็นวิธีที่เร็วกว่า หากคุณทำงานในสภาพแวดล้อมระบบคลาวด์ที่มี VM หลายเครื่องการคอมไพล์ python3 บน VM แต่ละเครื่องจะไม่เป็นที่ยอมรับ

โซลูชันที่ 1: ที่เก็บ Red Hat & EPEL

Red Hat ได้เพิ่มผ่านที่เก็บEPEL :

  • Python 3.4 สำหรับ CentOS 6
  • Python 3.6 สำหรับ CentOS 7

[EPEL] วิธีติดตั้ง Python 3.4 บน CentOS 6

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

[EPEL] วิธีติดตั้ง Python 3.6 บน CentOS 7

ด้วย 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`

โซลูชันที่ 2: ที่เก็บชุมชน IUS

ชุมชน IUS มีแพ็คเกจล่าสุดสำหรับ RHEL & CentOSCentOS คนที่อยู่เบื้องหลังมาจาก Rackspace ดังนั้นฉันคิดว่าพวกเขาค่อนข้างน่าเชื่อถือ ...

https://ius.io/

ตรวจสอบ repo ที่เหมาะสมสำหรับคุณที่นี่:

https://ius.io/setup

[IUS] วิธีติดตั้ง Python 3.6 บน CentOS 6

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

[IUS] วิธีติดตั้ง Python 3.6 บน CentOS 7

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

1
แก้ไข URL ของแพ็กเกจรีลีส IUS พวกเขาได้อัปเดตเวอร์ชันนั่นคือทั้งหมด หากพวกเขาอัปเดตแพ็กเกจอีกครั้งคุณสามารถตรวจสอบลิงก์ไปยัง RPM ได้จากหน้าเว็บ
Samuel Phan

1
ดังที่ฉันได้กล่าวไปว่าลิงก์ในคำตอบของคุณมีอักขระ Unicode ที่ไม่สามารถพิมพ์ได้ เมื่อฉันคัดลอก / วางลิงก์ของคุณนี่คือสิ่งที่ฉันเห็นใน VIM: https://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/iu<200c><200b>s-release-1.0-14.iu‌​s.centos6.noarch.rpm นี่คืออักขระ Unicode: fileformat.info/info/unicode/char/200c/index.htm URL ในคำตอบเดิมของฉันใช้งานได้ฉันเพิ่งทดสอบ มัน.
Samuel Phan

1
ฉันได้รับแจ้งว่าพื้นที่เก็บข้อมูลชุมชน IUS ไม่น่าเชื่อถือเท่ากับคอลเล็กชันซอฟต์แวร์ดังนั้นฉันจะตอบคำตอบของ Mike Gueretteใน CentOS 6
bformet

2
เมื่อใช้วิธีนี้คุณจะติดตั้ง pip สำหรับ python34 ได้อย่างไร
Loïc

1
คำถามที่ดีมากฉันได้เพิ่มความคิดเห็นสำหรับสิ่งนั้น ดีที่สุดที่ฉันพบ หากคุณต้องการยึดติดกับการติดตั้งโดยใช้ RPM คุณควรใช้ที่เก็บ IUS สำหรับ CentOS 7 ซึ่งมีไฟล์python34u-pip.
Samuel Phan

31

นอกจากคำตอบของ 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


16
ทำไม/opt? /usr/localโดยเฉพาะที่มีอยู่เพื่อการนี้และที่ที่./configureไม่มีอย่างชัดเจน--prefixจะวางไว้
cababunga

@cababunga ในขณะที่ฉันเขียนฉันได้รับอิทธิพลจากการอ่านบทแนะนำจากเว็บไซต์ที่ระบุ อย่างไรก็ตามการติดตั้ง python ด้วยวิธีข้างต้นอาจใช้งานได้ - การถอนการติดตั้งจะง่ายกว่ามาก (ดูเหมือนว่าจะไม่มีการระบุเป้าหมายการถอนการติดตั้งสำหรับ make) นอกจากนี้คุณสามารถติดตั้ง python3 เวอร์ชันต่างๆได้อย่างง่ายดายในไดเรกทอรีแยกต่างหากที่ระบุภายใต้ / opt และตั้งค่าด้วยตนเองว่าจะใช้หรือทดสอบเวอร์ชันใด
rsc

คุณอาจต้องการตั้งค่า PATH ของคุณให้มีโฟลเดอร์ไบนารี สำหรับฉันมันคือexport PATH=$PATH:/opt/python3/bin
Caleb

10

นอกจาก 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

แก้ไข

ทำตามคำแนะนำเหล่านี้เพื่อติดตั้ง Python 3.4 บน RHEL 6/7 หรือ CentOS 6/7:

# 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

// สิ่งนี้ไม่ต้องการให้เราเปิดใช้งานเชลล์พิเศษหรือไม่? เมื่อรวมกับผู้มีคุณธรรมฉันสามารถเห็นได้ว่ากลายเป็นความเจ็บปวดในตูด
Nathan Basanese

// ทำไมถึงต้องการscl enable rh-python34 bash? ผลของการใช้สิ่งนี้ในภายหลังคืออะไร?
Nathan Basanese

มีวิธีติดตั้ง python3.5 บน RedHat 6 หรือไม่? ฉันพยายามwget https://www.softwarecollections.org/en/scls/rhscl/rh-python35/epel-6-x86_64/download/rhscl-rh-python35-epel-6-x86_64.noarch.rpmแล้วแต่ไม่พบ
Searene

คุณต้องสมัครสมาชิกเพื่อรับคอลเลกชัน? ราคาเท่าไหร่?
Noumenon

1
ไม่มีค่าใช้จ่ายใด ๆ เพิ่มเติม คอลเลกชันซอฟต์แวร์ RH เป็นส่วนหนึ่งของการสมัครสมาชิกทั้งหมดของนักพัฒนา RHEL และการสมัครสมาชิก RHEL ส่วนใหญ่ สามารถขอรับการสมัครสมาชิกการพัฒนา RHEL แบบไม่มีค่าใช้จ่ายได้จาก developer.redhat.com/download นี่คือการสมัครสมาชิก RHEL จริงซึ่งเป็นบิตเดียวกับสิทธิ์ในการผลิต - แต่มีวัตถุประสงค์เพื่อการพัฒนา
Mike Guerette

9

ใช้ 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 แทนค่าเริ่มต้นของระบบ)


4
หลังจากอ่านเอกสาร redhat สิ่งที่ฉันต้องทำก็คือ; scl enable python33 bashเพื่อเปิดตัวเชลล์ใหม่ซึ่งจะเปิดใช้งานสำหรับ python 3 หรือscl enable python33 'python hello.py'ซึ่งจะเรียกใช้ไฟล์ python ของคุณโดยใช้ python 3 ในเชลล์ปัจจุบัน
อาหารว่าง

// คำแนะนำทั่วไปอะไรเพิ่มเติมที่อนุญาตให้ติดตั้ง Python 3.4
Nathan Basanese

ถ้าคุณอยู่ใน RHEL ใช้คอลเลกชัน Red Hat subscription-manager repos --enable rhel-7-server-optional-rpms --enable rhel-server-rhscl-7-rpmsซอฟแวร์: yum install rh-python36จากนั้นคุณสามารถ ดูวิธีการติดตั้ง Python 3 บน RHELสำหรับข้อมูลเพิ่มเติม
Rob T.

9

เมื่อเร็ว ๆ นี้มีการเพิ่ม 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


// อะไรคือสิ่งที่รอ? Pip ดูเหมือนจะเป็นวิธีง่ายๆ
Nathan Basanese

9

คุณสามารถดาวน์โหลด RPM ต้นทางและ RPM ไบนารีสำหรับ RHEL6 / CentOS6 ได้จาก ที่นี่

นี่คือแบ็คพอร์ตจากรอบต่อนาทีแหล่งการพัฒนา Fedora ใหม่ล่าสุดไปยัง RHEL6 / CentOS6


เยี่ยมมาก ขอบคุณสำหรับความพยายามของคุณ Florian บางทีการทำงานcreaterepoบนไดเรกทอรีเหล่านั้นอาจทำให้มีประโยชน์มากขึ้นสำหรับบางคน
cababunga

ค่อยยังชั่ว. รอบต่อนาทีติดตั้งอย่างสมบูรณ์แบบ
lyomi

//, เราจะสร้างที่เก็บจากลิงค์นั้นได้อย่างไร?
Nathan Basanese

// ฉันสามารถยืนยันได้ว่ามันใช้งานได้ เดี๋ยวก่อนฉันเพิ่งแส้อะไรบางอย่างที่ใช้ URL นั้นเป็นbaseurl: 0bin.net/paste/…
Nathan Basanese

6

ฉันเห็นคำตอบทั้งหมดว่าขอให้รวบรวม 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

ดูลิงค์ด้วย


ใช้งานได้ดีโดยเฉพาะอย่างยิ่งหากวิธีอย่างเป็นทางการผ่าน SCL ไม่ได้ผล ติดตั้ง pip3 เสริมแล้ว:sudo yum install python34-setuptools
OSP

5

ฉันมีปัญหาเดียวกันกับการใช้ python 2.7 ทำตามขั้นตอนด้านล่างเพื่ออัพเกรดเป็น 3.6 ได้สำเร็จ คุณยังสามารถลองใช้อันนี้ -

  1. ดูก่อนอัปเกรดเป็น 2.x

    python --version
    Python 2.7.5
  2. ใช้คำสั่งด้านล่างเพื่ออัพเกรด python ของคุณเป็นเวอร์ชัน 3.x -

    ยำติดตั้ง python3x

    แทนที่xด้วยหมายเลขเวอร์ชันที่คุณต้องการ

    เช่นสำหรับการติดตั้ง python 3.6 execute

    yum install python36
  3. หลังจากนั้นหากคุณต้องการตั้งค่า python นี้สำหรับเวอร์ชันเริ่มต้นของคุณให้เพิ่มไฟล์bashrc

    vi ~ / .bashrc

    alias python='python3.6'
  4. รันคำสั่ง bash เพื่อใช้การตั้งค่า

    bash 
  5. ตอนนี้คุณสามารถดูเวอร์ชันด้านล่าง

    python --version
    Python 3.6.3

คำตอบนี้ใช้ไม่ได้หากไม่เพิ่ม repos ของบุคคลที่สามอย่างใดอย่างหนึ่งทั้ง EPEL หรือ IUS ไม่มีแพ็คเกจ python36 ใน RHEL แพ็คเกจ RHSCL คือrh-python36.
Rob T.

4

สามขั้นตอนโดยใช้ 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.
โจ

มีอยู่ในที่เก็บ CentOS
Nagev

4

หากคุณใช้ 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

ดูบทความด้านบนสำหรับข้อมูลทั้งหมดนี้และรายละเอียดเพิ่มเติมมากมาย


3

หากคุณต้องการแพ็คเกจ RHEL อย่างเป็นทางการคุณสามารถใช้ RHSCL (Red Hat Software Collections)

รายละเอียดเพิ่มเติม:

คุณต้องมีสิทธิ์เข้าถึง Red Hat Customer Portal เพื่ออ่านบทความฉบับเต็ม


//, เพิ่งโหวต คุณยินดีที่จะสรุปสิ่งที่จะใช้ RHSCL สำหรับสิ่งนี้หรือไม่? นี่คือไซต์คำถามและคำตอบหลังจากทั้งหมด
Nathan Basanese

1
บทความวิธีการติดตั้ง Python 3 บน RHELมีขั้นตอนล่าสุดสำหรับ Python 3.6 ผ่านคอลเลคชันซอฟต์แวร์และเคล็ดลับมากมายสำหรับการทำงานกับ RHSCLs, Python และสภาพแวดล้อมเสมือน
Rob T.

3

นี่คือขั้นตอนที่ฉันทำตามเพื่อติดตั้ง 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

2
หากคุณสร้างจากซอร์สโดยไม่ติดตั้ง -devel dependencies (SSL, bzip และอื่น ๆ ) คุณจะขาดโมดูลจำนวนหนึ่งที่ขึ้นอยู่กับอ็อบเจ็กต์ที่แชร์ การติดตั้งหนึ่งในการแจกแจงตามรอบต่อนาที (RHSCL, EPEL หรือ IUS) เป็นความคิดที่ดีกว่า
Rob T.

1

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)


1

ทำงานเต็ม 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


0

คุณสามารถติดตั้ง 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คำสั่งที่แท้จริงในภายหลังมันถูกห่อหรือไม่?
Mugen

0

สำหรับผู้ที่ทำงานบน 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.