Hướng dẫn how do i install python on linux 6? - làm cách nào để cài đặt python trên linux 6?

Bài viết này cho thấy cách cài đặt Python 3,

$ su -
# yum install @development
7,
$ su -
# yum install @development
8,
$ su -
# yum install @development
9 và
$ su -
# subscription-manager repos \
 --enable rhel-7-server-optional-rpms \
 --enable rhel-server-rhscl-7-rpms
0 trên Red Hat Enterprise Linux 7. Sau khi làm theo các bước trong bài viết này, bạn nên ở một vị trí tốt để làm theo nhiều hướng dẫn và hướng dẫn của Python bằng cách sử dụng RHEL. & NBSPSPS ; Lưu ý: Đối với cài đặt RHEL 8, xem Python trên Rhel 8.

Show

Sử dụng môi trường ảo Python là một thực tiễn tốt nhất để cô lập các phụ thuộc dành riêng cho dự án và tạo ra các môi trường có thể tái tạo. Các mẹo và Câu hỏi thường gặp khác để làm việc với các bộ sưu tập Python và Phần mềm trên RHEL 7 cũng được đề cập.

Có một số cách khác nhau để cài đặt Python 3 trên RHEL. Bài viết này sử dụng các bộ sưu tập phần mềm Red Hat vì chúng cung cấp cho bạn một cài đặt Python hiện tại được xây dựng và hỗ trợ bởi Red Hat. Trong quá trình phát triển, sự hỗ trợ dường như không quan trọng đối với bạn. Tuy nhiên, hỗ trợ rất quan trọng đối với những người phải triển khai và vận hành các ứng dụng bạn viết. Để hiểu tại sao điều này lại quan trọng, hãy xem xét những gì xảy ra khi ứng dụng của bạn đang được sản xuất và lỗ hổng bảo mật quan trọng trong thư viện cốt lõi (ví dụ SSL/TLS) được phát hiện. Loại kịch bản này là lý do tại sao nhiều doanh nghiệp sử dụng Red Hat.

Python 3.6 được sử dụng trong bài viết này. Đó là bản phát hành gần đây nhất, ổn định khi nó được viết. Tuy nhiên, bạn sẽ có thể sử dụng các hướng dẫn này cho bất kỳ phiên bản nào của Python trong các bộ sưu tập phần mềm Red Hat bao gồm các bộ sưu tập 2.7, 3,4, 3.5 và tương lai như 3.7.

Trong bài viết này, các chủ đề sau đây được thảo luận:

  1. TL; DR (Tóm tắt các bước)
  2. Tại sao sử dụng bộ sưu tập phần mềm Red Hat
  3. Các bước cài đặt đầy đủ với các giải thích
  4. Cách sử dụng Python 3 thông qua các bộ sưu tập phần mềm Red Hat
  5. Làm việc với môi trường ảo Python
    1. Tôi nên sử dụng
      $ su -
      # yum install @development
      8 hoặc
      $ su -
      # yum install @development
      9 hay cái gì khác?
    2. Sử dụng
      $ su -
      # yum install @development
      8
    3. Sử dụng
      $ su -
      # yum install @development
      9
    4. Quản lý phụ thuộc ứng dụng bằng cách sử dụng
      $ su -
      # subscription-manager repos \
       --enable rhel-7-server-optional-rpms \
       --enable rhel-server-rhscl-7-rpms
      0
  6. Lời khuyên chung để làm việc với Python
  7. Mẹo làm việc với bộ sưu tập phần mềm
    1. Bật bộ sưu tập Python * Trước * Môi trường ảo
    2. Cách bật vĩnh viễn bộ sưu tập phần mềm
    3. Cách sử dụng Python 3 từ RHSCL trong #! (shebang) dòng kịch bản
    4. Cách cho biết bộ sưu tập phần mềm nào được bật
    5. Cách xem bộ sưu tập phần mềm nào được cài đặt
  8. Xử lý sự cố
  9. Thông tin thêm: Phát triển trong Python trên nền tảng Hat Red

TL;DR

Dưới đây là các bước cơ bản để bạn có thể đi. Xem dưới đây để biết giải thích và chi tiết hơn.

Cách cài đặt Python 3 trên RHEL

  1. Trở thành
    $ su -
    # subscription-manager repos \
     --enable rhel-7-server-optional-rpms \
     --enable rhel-server-rhscl-7-rpms
    6.
  2. Kích hoạt các repos phần mềm
    $ su -
    # subscription-manager repos \
     --enable rhel-7-server-optional-rpms \
     --enable rhel-server-rhscl-7-rpms
    7 và
    $ su -
    # subscription-manager repos \
     --enable rhel-7-server-optional-rpms \
     --enable rhel-server-rhscl-7-rpms
    8 bằng cách sử dụng
    $ su -
    # subscription-manager repos \
     --enable rhel-7-server-optional-rpms \
     --enable rhel-server-rhscl-7-rpms
    9.
  3. Sử dụng
    # subscription-manager repos --list
    0 để cài đặt
    # subscription-manager repos --list
    1. Điều này đảm bảo bạn đã có GCC,
    # subscription-manager repos --list
    2,
    # subscription-manager repos --list
    3, v.v. để bạn có thể xây dựng bất kỳ mô -đun nào có chứa mã được biên dịch.
  4. Sử dụng
    # subscription-manager repos --list
    0 để cài đặt
    # subscription-manager repos --list
    5.
  5. Tùy chọn: Sử dụng
    # subscription-manager repos --list
    0 để cài đặt
    # subscription-manager repos --list
    7,
    # subscription-manager repos --list
    8,
    # subscription-manager repos --list
    9 và
    # subscription-manager repos --list-enabled
    0 từ RHSCL RPMS.
$ 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

# exit

Sử dụng Python 3 trên Rhel

  1. Trong ID người dùng bình thường của bạn, chạy
    # subscription-manager repos --list-enabled
    1 để thêm
    # subscription-manager repos --list-enabled
    2 vào (các) đường dẫn của bạn.
  2. Tạo một môi trường ảo Python và kích hoạt nó. (Lưu ý: Lời nhắc của bạn đã thay đổi để hiển thị môi trường ảo.)
  3. Cài đặt bất kỳ mô -đun bổ sung nào bạn cần với
    $ su -
    # yum install @development
    7 trong môi trường bị cô lập mà không phải là
    $ su -
    # subscription-manager repos \
     --enable rhel-7-server-optional-rpms \
     --enable rhel-server-rhscl-7-rpms
    6.
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...

Nếu bạn bắt đầu một phiên mới, đây là các bước để sử dụng môi trường ảo của bạn:

$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate

Tại sao sử dụng bộ sưu tập phần mềm Red Hat

Các bước cài đặt đầy đủ với các giải thích

Cách sử dụng Python 3 thông qua các bộ sưu tập phần mềm Red Hat

Làm việc với môi trường ảo Python


Cài đặt Điều kiện tiên quyết

Cài đặt các công cụ phát triển bao gồm GCC, Make và Git

Nếu bạn cài đặt các mô -đun phụ thuộc vào mã được biên dịch, bạn sẽ cần các công cụ để biên dịch chúng. Nếu bạn chưa cài đặt các công cụ phát triển, hãy chạy lệnh sau:

$ su -
# yum install @development

Bật repos với các công cụ phát triển bổ sung

Mặc dù các repos phần mềm RHEL mặc định/cơ sở có nhiều công cụ phát triển, đây là các phiên bản cũ hơn được vận chuyển với HĐH và được hỗ trợ cho vòng đời 10 năm của HĐH. Các gói được cập nhật thường xuyên hơn và có một vòng đời hỗ trợ khác được phân phối trong các repo khác không được bật theo mặc định.

Bộ sưu tập phần mềm Red Hat nằm trong repo

$ su -
# subscription-manager repos \
 --enable rhel-7-server-optional-rpms \
 --enable rhel-server-rhscl-7-rpms
7. Các gói RHSCL có một số phụ thuộc vào các gói trong repo
# yum install rh-python36
2, vì vậy bạn cần kích hoạt cả hai.

Để kích hoạt các repos bổ sung, hãy chạy các lệnh sau là

$ su -
# subscription-manager repos \
 --enable rhel-7-server-optional-rpms \
 --enable rhel-server-rhscl-7-rpms
6:

$ su -
# subscription-manager repos \
 --enable rhel-7-server-optional-rpms \
 --enable rhel-server-rhscl-7-rpms

Ghi chú:

  • Bạn có thể nhập tất cả trên trên một dòng mà không có dấu gạch chéo ngược. Các dấu gạch chéo ngược là cần thiết nếu bạn muốn sử dụng nhiều dòng để đọc.without the backslashes. The backslashes are needed if you want to use multiple lines for readability.
  • Nếu bạn đang sử dụng biến thể máy trạm của RHEL, hãy thay đổi
    # yum install rh-python36
    4 thành
    # yum install rh-python36
    5.
  • Lệnh này chỉ cần được chạy một lần. Các repos sẽ được bật. Tất cả các repos được kích hoạt sẽ được tìm kiếm bởi
    # subscription-manager repos --list
    0 khi cài đặt hoặc cập nhật phần mềm.
  • Đăng ký RHEL miễn phí cho các nhà phát triển bao gồm quyền truy cập vào tất cả các repo này và biến thể máy chủ của RHEL. Biến thể máy chủ là một superset.
  • Để biết thêm thông tin, hãy xem Câu hỏi thường gặp cho đăng ký không chi phí.

Để xem repos nào có sẵn cho đăng ký hiện tại của bạn, hãy chạy lệnh sau:

# subscription-manager repos --list

Để xem repos nào được bật, hãy sử dụng

# yum install rh-python36
7:

# subscription-manager repos --list-enabled

Cài đặt Python 3

Bây giờ bạn có thể cài đặt Python 3.6 (hoặc các phiên bản khác trong RHSCL) với

# subscription-manager repos --list
0:

# yum install rh-python36

Ghi chú:

  • Bạn có thể nhập tất cả trên trên một dòng mà không có dấu gạch chéo ngược. Các dấu gạch chéo ngược là cần thiết nếu bạn muốn sử dụng nhiều dòng để đọc.
  • Nếu bạn đang sử dụng biến thể máy trạm của RHEL, hãy thay đổi
    # yum install rh-python36
    4 thành
    # yum install rh-python36
    5.
  • Lệnh này chỉ cần được chạy một lần. Các repos sẽ được bật. Tất cả các repos được kích hoạt sẽ được tìm kiếm bởi
    # subscription-manager repos --list
    0 khi cài đặt hoặc cập nhật phần mềm.
    Python 3.5:
    # yum install rh-python36-numpy \
     rh-python36-scipy \ 
     rh-python36-python-tools \
     rh-python36-python-six
    1
    Python 3.4:
    # yum install rh-python36-numpy \
     rh-python36-scipy \ 
     rh-python36-python-tools \
     rh-python36-python-six
    2
    Python 2.7.13:
    # yum install rh-python36-numpy \
     rh-python36-scipy \ 
     rh-python36-python-tools \
     rh-python36-python-six
    3
  • Đăng ký RHEL miễn phí cho các nhà phát triển bao gồm quyền truy cập vào tất cả các repo này và biến thể máy chủ của RHEL. Biến thể máy chủ là một superset.
  • Để biết thêm thông tin, hãy xem Câu hỏi thường gặp cho đăng ký không chi phí.

Để xem repos nào có sẵn cho đăng ký hiện tại của bạn, hãy chạy lệnh sau:

Để xem repos nào được bật, hãy sử dụng

# yum install rh-python36
7:

  • Cài đặt Python 3
  • Bây giờ bạn có thể cài đặt Python 3.6 (hoặc các phiên bản khác trong RHSCL) với
    # subscription-manager repos --list
    0:
  • Các gói này sẽ cài đặt trong
    # yum install rh-python36
    9.
  • Chúng sẽ không được thêm vào đường dẫn của bạn cho đến khi bạn chạy
    # subscription-manager repos --list-enabled
    1. Xem bên dưới.
  • Đối với các phiên bản khác của Python, hãy sử dụng các phiên bản sau làm gói/bộ sưu tập: Python 3.5:
    # yum install rh-python36-numpy \
     rh-python36-scipy \ 
     rh-python36-python-tools \
     rh-python36-python-six
    1 Python 3.4:
    # yum install rh-python36-numpy \
     rh-python36-scipy \ 
     rh-python36-python-tools \
     rh-python36-python-six
    2 Python 2.7.13:
    # yum install rh-python36-numpy \
     rh-python36-scipy \ 
     rh-python36-python-tools \
     rh-python36-python-six
    3
  • Một số gói bổ sung sẽ được cài đặt dưới dạng phụ thuộc. Chúng bao gồm
    # yum install rh-python36-numpy \
     rh-python36-scipy \ 
     rh-python36-python-tools \
     rh-python36-python-six
    4,
    $ su -
    # yum install @development
    7,
    # yum install rh-python36-numpy \
     rh-python36-scipy \ 
     rh-python36-python-tools \
     rh-python36-python-six
    6 và
    $ su -
    # yum install @development
    9.
  • Gói
    # yum install rh-python36-numpy \
     rh-python36-scipy \ 
     rh-python36-python-tools \
     rh-python36-python-six
    4 chứa các tệp cần thiết nếu bạn phải xây dựng bất kỳ mô -đun nào liên kết động vào Python (như mã C/C ++).

Cài đặt các gói bổ sung

# yum install rh-python36-numpy \
 rh-python36-scipy \ 
 rh-python36-python-tools \
 rh-python36-python-six

Tùy chọn, bạn có thể muốn cài đặt các gói RPM sau đây là một phần của bộ sưu tập phần mềm:


Công cụ Python: # yum install rh-python36-numpy \ rh-python36-scipy \ rh-python36-python-tools \ rh-python36-python-six9 là một tập hợp các công cụ bao gồm Python 3, $ scl enable rh-python36 bash $ python3 -V Python 3.6.3 $ python -V # python now points to Python 3 Python 3.6.3 $ which python /opt/rh/rh-python36/root/usr/bin/python0 và $ scl enable rh-python36 bash $ python3 -V Python 3.6.3 $ python -V # python now points to Python 3 Python 3.6.3 $ which python /opt/rh/rh-python36/root/usr/bin/python1.

Numpy:

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3
 
$ python -V # python now points to Python 3
Python 3.6.3

$ which python
/opt/rh/rh-python36/root/usr/bin/python
2 là một cơ sở mảng đa chiều nhanh cho Python.

Scipy:

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3
 
$ python -V # python now points to Python 3
Python 3.6.3

$ which python
/opt/rh/rh-python36/root/usr/bin/python
3 cung cấp các công cụ khoa học cho Python.

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3
 
$ python -V # python now points to Python 3
Python 3.6.3

$ which python
/opt/rh/rh-python36/root/usr/bin/python

Sáu:

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3
 
$ python -V # python now points to Python 3
Python 3.6.3

$ which python
/opt/rh/rh-python36/root/usr/bin/python
4 cung cấp các tiện ích tương thích Python 2 và 3.

SQLALCHEMY:

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3
 
$ python -V # python now points to Python 3
Python 3.6.3

$ which python
/opt/rh/rh-python36/root/usr/bin/python
5 là một thư viện ORM mô -đun và linh hoạt cho Python.


Pyyaml: $ scl enable rh-python36 bash $ python3 -V Python 3.6.3 $ python -V # python now points to Python 3 Python 3.6.3 $ which python /opt/rh/rh-python36/root/usr/bin/python6 là một trình phân tích cú pháp YAML và phát cho Python.

Sử dụng môi trường ảo Python là một thực tiễn tốt nhất để cô lập các phụ thuộc dành riêng cho dự án và tạo ra các môi trường có thể tái tạo. Nói cách khác, đó là một cách để tránh sự phụ thuộc mâu thuẫn dẫn đến địa ngục phụ thuộc. Sử dụng môi trường ảo sẽ cho phép bạn sử dụng

$ su -
# yum install @development
7 để cài đặt bất kỳ mô -đun nào bạn cần cho dự án của mình trong thư mục bị cô lập dưới ID người dùng bình thường của bạn. Bạn có thể dễ dàng có nhiều dự án với các phụ thuộc khác nhau. Để làm việc trên một dự án cụ thể, bạn kích hoạt môi trường ảo, thêm các thư mục phù hợp vào (các) đường dẫn của bạn.

Sử dụng các môi trường ảo cùng với

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
21,
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
22 và tệp
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
23 cung cấp cho bạn một đường dẫn đến môi trường có thể tái tạo để chạy mã của bạn. Những người khác cần chạy mã của bạn có thể sử dụng tệp
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
23 bạn tạo để tạo môi trường phù hợp.

Theo mặc định, môi trường ảo sẽ không sử dụng bất kỳ mô -đun nào được cài đặt hệ thống hoặc các mô -đun được cài đặt trong thư mục nhà của bạn. Từ góc độ cô lập và để tạo ra các môi trường có thể tái tạo, đây thường được coi là hành vi chính xác. Tuy nhiên, bạn có thể thay đổi điều đó bằng cách sử dụng đối số

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3
 
$ python -V # python now points to Python 3
Python 3.6.3

$ which python
/opt/rh/rh-python36/root/usr/bin/python
8.

Tôi nên sử dụng $ su - # yum install @development8 hoặc $ su - # yum install @development9 hay cái gì khác?

Khi bạn cài đặt Python 3 từ các bộ sưu tập phần mềm Red Hat,

$ su -
# yum install @development
8,
$ su -
# yum install @development
9 và
$ su -
# yum install @development
7 sẽ được cài đặt, vì vậy bạn đã sẵn sàng cài đặt bất kỳ mô -đun nào bạn chọn. "Cài đặt các mô -đun Python" trong tài liệu Python hiện tại cho biết điều này:

  • $ su -
    # yum install @development
    8 là công cụ tiêu chuẩn để tạo môi trường ảo và là một phần của Python kể từ Python 3.3.
  • $ su -
    # yum install @development
    9 là một sự thay thế của bên thứ ba (và tiền thân) cho
    $ su -
    # yum install @development
    8. Nó cho phép các môi trường ảo được sử dụng trên các phiên bản của Python trước 3.4, không cung cấp
    $ su -
    # yum install @development
    8 hoàn toàn hoặc không thể tự động cài đặt
    $ su -
    # yum install @development
    7 vào các môi trường được tạo.

Vì vậy, đối với tất cả các phiên bản gần đây của Python 3,

$ su -
# yum install @development
8 được ưa thích.is preferred.

Nếu bạn làm việc với Python 2.7, bạn sẽ cần sử dụng

$ su -
# yum install @development
9.

Các lệnh để tạo các môi trường ảo chỉ khác nhau trong tên mô -đun được sử dụng. Sau khi được tạo, lệnh để kích hoạt môi trường ảo là như nhau.

Lưu ý: Đối với

$ su -
# yum install @development
9, sử dụng
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
39 được khuyến nghị thay vì sử dụng lệnh
$ su -
# yum install @development
9. Xem Tránh sử dụng các tập lệnh trình bao bọc Python bên dưới để biết thêm thông tin.

Tạo và kích hoạt môi trường ảo với $ su - # yum install @development8

Nếu bạn chưa làm như vậy, hãy bật bộ sưu tập

# subscription-manager repos --list
5:

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
0

Bây giờ tạo môi trường ảo. Để tránh mọi bất ngờ, hãy sử dụng số phiên bản rõ ràng để chạy Python:

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
1

Bất cứ khi nào bạn cần kích hoạt môi trường ảo, hãy chạy lệnh sau.

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
2

Lưu ý: Sau khi bạn đã kích hoạt môi trường ảo, lời nhắc của bạn sẽ thay đổi để nhắc nhở bạn rằng bạn đang làm việc trong một môi trường ảo. Thí dụ:

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
3

Lưu ý: Khi bạn đăng nhập lại hoặc bắt đầu một phiên mới, bạn sẽ cần kích hoạt môi trường ảo bằng lệnh

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
43 lại. Lưu ý: Bạn nên đã chạy
# subscription-manager repos --list-enabled
1 trước khi kích hoạt môi trường ảo.

Để biết thêm thông tin, hãy xem các môi trường và gói ảo trong hướng dẫn Python 3 tại docs.python.org.

Tạo và kích hoạt môi trường ảo với $ su - # yum install @development9

Nếu bạn chưa làm như vậy, hãy bật bộ sưu tập

# subscription-manager repos --list
5:

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
0

Bây giờ tạo môi trường ảo. Để tránh mọi bất ngờ, hãy sử dụng số phiên bản rõ ràng để chạy Python:

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
5

Bất cứ khi nào bạn cần kích hoạt môi trường ảo, hãy chạy lệnh sau.

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
2

Lưu ý: Sau khi bạn đã kích hoạt môi trường ảo, lời nhắc của bạn sẽ thay đổi để nhắc nhở bạn rằng bạn đang làm việc trong một môi trường ảo. Thí dụ:

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
3

Lưu ý: Khi bạn đăng nhập lại hoặc bắt đầu một phiên mới, bạn sẽ cần kích hoạt môi trường ảo bằng lệnh

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
43 lại. Lưu ý: Bạn nên đã chạy
# subscription-manager repos --list-enabled
1 trước khi kích hoạt môi trường ảo.

Để biết thêm thông tin, hãy xem các môi trường và gói ảo trong hướng dẫn Python 3 tại docs.python.org.

Tạo và kích hoạt môi trường ảo với $ su - # yum install @development9

Bất cứ khi nào bạn cần kích hoạt môi trường ảo, hãy chạy lệnh sau. Lưu ý: Bạn nên đã chạy

# subscription-manager repos --list-enabled
1 trước khi kích hoạt môi trường ảo.

Để biết thêm thông tin, hãy xem Cài đặt các gói bằng PIP và VirtualEnv trong Hướng dẫn sử dụng bao bì Python.

Với PipenV, bạn không còn cần phải sử dụng riêng

$ su -
# yum install @development
7 và
$ su -
# yum install @development
9.
$ su -
# subscription-manager repos \
 --enable rhel-7-server-optional-rpms \
 --enable rhel-server-rhscl-7-rpms
0 hiện không phải là một phần của thư viện Python 3 tiêu chuẩn hoặc phần mềm Red Hat Colleciton. Bạn có thể cài đặt nó bằng
$ su -
# yum install @development
7. . Tuy nhiên, đừng quên bật bộ sưu tập phần mềm Python 3 trước.without having any virtual environment activated. However, don't forget to enable the Python 3 software collection first.

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
8

Tạo và sử dụng các môi trường bị cô lập với

$ su -
# subscription-manager repos \
 --enable rhel-7-server-optional-rpms \
 --enable rhel-server-rhscl-7-rpms
0 hoạt động khác một chút so với
$ su -
# yum install @development
8 hoặc
$ su -
# yum install @development
9. Môi trường ảo sẽ tự động được tạo nếu không có
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
63 tồn tại trong thư mục hiện tại khi bạn cài đặt gói đầu tiên. Tuy nhiên, đó là một thực tiễn tốt để tạo ra một môi trường rõ ràng với phiên bản Python cụ thể mà bạn muốn sử dụng.

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
9

Để kích hoạt môi trường PipENV, CD vào thư mục đó và chạy

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
64.

$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
0

PIPENV tương tự như

# subscription-manager repos --list-enabled
1 ở chỗ nó không cố gắng sửa đổi môi trường hiện tại với
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
43, thay vào đó nó bắt đầu một shell mới. Để vô hiệu hóa,
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
67 vỏ. Bạn cũng có thể chạy một lệnh trong môi trường PIPENV bằng cách sử dụng
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
68.

Để biết thêm thông tin, xem:

  • Quản lý phụ thuộc ứng dụng trong Hướng dẫn sử dụng bao bì Python
  • Tài liệu tại pipenv.org
  • Pipenv và môi trường ảo với hướng dẫn của Hitchhiker về trang web Python

Lời khuyên chung để làm việc với Python

Lệnh $ scl enable rh-python36 bash $ python3 -V Python 3.6.3 $ python -V # python now also points to Python3 Python 3.6.3 $ mkdir ~/pydev $ cd ~/pydev $ python3 -m venv py36-venv $ source py36-venv/bin/activate (py36-venv) $ python3 -m pip install ...some modules...08: Tránh bất ngờ bằng cách sử dụng số phiên bản

Để tránh bất ngờ, đừng gõ

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
08. Sử dụng số phiên bản rõ ràng trong lệnh, chẳng hạn như
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
71 hoặc
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
11.

Ở mức tối thiểu, luôn luôn sử dụng

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
73 hoặc
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
10. Nếu bạn đang đọc bài viết này, bạn đã có nhiều hơn một phiên bản Python được cài đặt trên hệ thống của bạn. Tùy thuộc vào đường dẫn của bạn, bạn có thể nhận được các phiên bản khác nhau. Kích hoạt và hủy kích hoạt các môi trường ảo, cũng như cho phép thu thập phần mềm, thay đổi đường dẫn của bạn, vì vậy có thể dễ bị nhầm lẫn về phiên bản bạn sẽ nhận được từ việc nhập
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
08.

Vấn đề tương tự xảy ra với bất kỳ tiện ích Python nào như

$ su -
# yum install @development
7 hoặc
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
16. Sử dụng số phiên bản, ví dụ,
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
78, được khuyến nghị. Ở mức tối thiểu sử dụng số phiên bản chính:
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
79. Xem phần tiếp theo để biết thay thế mạnh mẽ hơn.

Các tập lệnh bắt đầu bằng & nbsp; ________ 180 & nbsp; có thể phá vỡ

Trong nhiều năm, lời khuyên là bắt đầu các tập lệnh với & nbsp; ________ 180 & nbsp; để tránh các đường dẫn mã hóa cứng như & nbsp; Cấu trúc này sẽ tìm kiếm đường dẫn của bạn để tìm Python. Kích hoạt bộ sưu tập phần mềm và/hoặc kích hoạt môi trường ảo có thể thay đổi những gì trong đường dẫn của bạn. Vì vậy, một tập lệnh Python 2 bắt đầu với cấu trúc này có thể đột ngột bị phá vỡ khi đường dẫn của bạn thay đổi. Khi việc sử dụng các môi trường ảo tăng lên, tốt nhất là không còn sử dụng cấu trúc này vì bạn có thể nhận được một bản cài đặt python khác với các mô -đun khác nhau.

Sử dụng $ scl enable rh-python36 bash $ python3 -V Python 3.6.3 $ python -V # python now also points to Python3 Python 3.6.3 $ mkdir ~/pydev $ cd ~/pydev $ python3 -m venv py36-venv $ source py36-venv/bin/activate (py36-venv) $ python3 -m pip install ...some modules...84 để xác định phiên bản Python nào sẽ được chạy

Sử dụng lệnh

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
84 để xác định đường dẫn đầy đủ sẽ được sử dụng khi bạn nhập lệnh. Điều này sẽ giúp bạn hiểu phiên bản
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
08 nào trong đường dẫn của bạn trước tiên và sẽ được chạy khi bạn nhập
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
08.

Ví dụ:

$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
1

Tránh các tập lệnh trình bao bọc Python như $ su - # yum install @development9: Sử dụng tên mô -đun

Một số tiện ích Python được đặt trong đường dẫn của bạn như một tập lệnh trình bao bọc trong thư mục

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
14. Điều này thuận tiện vì bạn chỉ có thể nhập
$ su -
# yum install @development
7 hoặc
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
91 Hầu hết các tiện ích Python thực sự chỉ là các mô -đun Python với các tập lệnh trình bao bọc để bắt đầu Python và chạy mã trong mô -đun.

Vấn đề với các tập lệnh trình bao bọc là sự mơ hồ tương tự xảy ra khi gõ

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
08. Bạn sẽ nhận được phiên bản nào của
$ su -
# yum install @development
7 hoặc
$ su -
# yum install @development
9 khi nhập lệnh mà không có số phiên bản? Để mọi thứ hoạt động chính xác, có một biến chứng bổ sung mà tiện ích cần phù hợp với phiên bản Python mà bạn dự định sẽ sử dụng. Một số vấn đề tinh tế (khó chẩn đoán) có thể xảy ra nếu bạn kết thúc các phiên bản trộn vô tình.

Lưu ý: Có một số thư mục mà các tập lệnh bao bọc có thể cư trú. Phiên bản nào bạn nhận được phụ thuộc vào đường dẫn của bạn, thay đổi khi bạn bật bộ sưu tập phần mềm và/hoặc kích hoạt môi trường ảo. Các mô -đun được cài đặt với

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
95 Đặt các tập lệnh trình bao bọc của họ vào
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
96, có thể bị che khuất bằng cách kích hoạt bộ sưu tập phần mềm hoặc môi trường ảo.

Bạn có thể tránh những bất ngờ từ các vấn đề về đường dẫn bằng cách chạy mô -đun trực tiếp từ một phiên bản Python cụ thể bằng cách sử dụng

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
97Modulename. Trong khi điều này liên quan đến việc gõ nhiều hơn, đó là một cách tiếp cận an toàn hơn nhiều.

Khuyến nghị:

  • Thay vì
    $ su -
    # yum install @development
    7, sử dụng
    $ scl enable rh-python36 bash
    $ python3 -V
    Python 3.6.3
    
    $ python -V  # python now also points to Python3 
    Python 3.6.3
    
    $ mkdir ~/pydev
    $ cd ~/pydev
    
    $ python3 -m venv py36-venv
    $ source py36-venv/bin/activate
    
    (py36-venv) $ python3 -m pip install ...some modules...
    99.
  • Thay vì
    $ scl enable rh-python36 bash
    $ python3 -V
    Python 3.6.3
    
    $ python -V  # python now also points to Python3 
    Python 3.6.3
    
    $ mkdir ~/pydev
    $ cd ~/pydev
    
    $ python3 -m venv py36-venv
    $ source py36-venv/bin/activate
    
    (py36-venv) $ python3 -m pip install ...some modules...
    18, hãy sử dụng
    $ scl enable rh-python36 bash
    
    $ cd ~/pydev
    $ source py36-env/bin/activate
    01.
  • Thay vì
    $ su -
    # yum install @development
    9, sử dụng
    $ scl enable rh-python36 bash
    $ python3 -V
    Python 3.6.3
    
    $ python -V  # python now also points to Python3 
    Python 3.6.3
    
    $ mkdir ~/pydev
    $ cd ~/pydev
    
    $ python3 -m venv py36-venv
    $ source py36-venv/bin/activate
    
    (py36-venv) $ python3 -m pip install ...some modules...
    39.

Không chạy $ scl enable rh-python36 bash $ python3 -V Python 3.6.3 $ python -V # python now also points to Python3 Python 3.6.3 $ mkdir ~/pydev $ cd ~/pydev $ python3 -m venv py36-venv $ source py36-venv/bin/activate (py36-venv) $ python3 -m pip install ...some modules...55 dưới dạng gốc (hoặc với $ scl enable rh-python36 bash $ cd ~/pydev $ source py36-env/bin/activate05)

Chạy

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
55 dưới dạng gốc trực tiếp hoặc bằng cách sử dụng
$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
05 là một ý tưởng tồi và sẽ gây ra vấn đề cho bạn tại một số điểm. Một số vấn đề mà bạn có thể gặp phải là:will cause you problems at some point. Some of the problems that you may encounter are:

  • Xung đột giữa các gói RPM và các gói được cài đặt
    $ su -
    # yum install @development
    7. Các xung đột rất có thể sẽ hiển thị khi bạn cần cài đặt gói hoặc mô -đun được nâng cấp cố định hoặc được nâng cấp. Việc cài đặt có thể thất bại hoặc tệ hơn, bạn có thể kết thúc với một cài đặt bị hỏng. Tốt nhất là để
    # subscription-manager repos --list
    0 là người quản lý độc quyền của các tệp trong các thư mục hệ thống.
  • Môi trường thời gian chạy không thể dễ dàng sao chép. Có thể khó xác định các mô -đun nào được cài đặt thông qua gói RPM hoặc qua
    $ su -
    # yum install @development
    7. Khi bạn muốn chạy mã python của mình trên một hệ thống khác, những gì cần được cài đặt? Nó có cần được cài đặt toàn hệ thống không? Bạn sẽ nhận được cùng một phiên bản của các mô -đun bạn đã kiểm tra mã của bạn dưới?
  • Nâng cấp các mô -đun để giải quyết một phụ thuộc có thể phá vỡ một số mã khác. Thật không may, có nhiều trường hợp mã cần một phiên bản cụ thể của một mô -đun và các phiên bản mới hơn có thể không tương thích. Chạy
    $ scl enable rh-python36 bash
    $ python3 -V
    Python 3.6.3
    
    $ python -V  # python now also points to Python3 
    Python 3.6.3
    
    $ mkdir ~/pydev
    $ cd ~/pydev
    
    $ python3 -m venv py36-venv
    $ source py36-venv/bin/activate
    
    (py36-venv) $ python3 -m pip install ...some modules...
    55 AS
    $ su -
    # subscription-manager repos \
     --enable rhel-7-server-optional-rpms \
     --enable rhel-server-rhscl-7-rpms
    6 có nghĩa là tất cả các mô-đun được cài đặt trong thư mục toàn hệ thống, khiến cho việc xác định các mô-đun nào đã được cài đặt cho một ứng dụng cụ thể.

Sử dụng môi trường ảo sẽ cho phép bạn cô lập các mô -đun bạn cài đặt cho mỗi dự án khỏi các mô -đun là một phần của cài đặt Python từ Red Hat. Sử dụng môi trường ảo được coi là một thực tiễn tốt nhất để tạo ra các môi trường bị cô lập cung cấp các phụ thuộc cần thiết cho một mục đích cụ thể. Bạn không cần phải sử dụng

$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
13 khi chạy
$ su -
# yum install @development
7 trong môi trường ảo vì nó sẽ mặc định cài đặt trong môi trường ảo mà bạn nên có quyền truy cập.

Nếu bạn không sử dụng môi trường ảo hoặc cần một mô -đun/công cụ để có sẵn bên ngoài môi trường ảo, hãy sử dụng

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
95 để cài đặt các mô -đun trong thư mục nhà của bạn.

Trong trường hợp bạn nghĩ rằng điều này là quá khủng khiếp, hãy xem truyện tranh XKCD này. Đừng quên lơ lửng để bạn nhìn thấy văn bản alt.

Sử dụng môi trường ảo thay vì $ scl enable rh-python36 bash $ python3 -V Python 3.6.3 $ python -V # python now also points to Python3 Python 3.6.3 $ mkdir ~/pydev $ cd ~/pydev $ python3 -m venv py36-venv $ source py36-venv/bin/activate (py36-venv) $ python3 -m pip install ...some modules...95

Một số hướng dẫn khuyến nghị sử dụng

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
95. Mặc dù điều này được ưa thích hơn khi chạy
$ su -
# yum install @development
7 là
$ su -
# subscription-manager repos \
 --enable rhel-7-server-optional-rpms \
 --enable rhel-server-rhscl-7-rpms
6, nhưng sử dụng môi trường ảo là thực hành tốt hơn nhiều để cô lập đúng các mô -đun bạn cần cho một dự án hoặc bộ dự án nhất định.
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
95 Cài đặt Sử dụng
$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
21, có thể bị che khuất bằng cách cho phép các bộ sưu tập phần mềm và/hoặc kích hoạt môi trường ảo. Đối với các mô -đun cài đặt các tập lệnh trình bao bọc trong
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
96, điều này có thể gây ra sự không phù hợp giữa tập lệnh trình bao bọc và mô -đun.

Ngoại lệ cho lời khuyên này là các mô -đun và công cụ mà bạn cần sử dụng bên ngoài môi trường ảo. Ví dụ chính là

$ su -
# subscription-manager repos \
 --enable rhel-7-server-optional-rpms \
 --enable rhel-server-rhscl-7-rpms
0. Bạn nên sử dụng
$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
24 để cài đặt
$ su -
# subscription-manager repos \
 --enable rhel-7-server-optional-rpms \
 --enable rhel-server-rhscl-7-rpms
0. Bằng cách đó, bạn sẽ có
$ su -
# subscription-manager repos \
 --enable rhel-7-server-optional-rpms \
 --enable rhel-server-rhscl-7-rpms
0 trên đường dẫn của bạn mà không có bất kỳ môi trường ảo nào.

Không sử dụng hệ thống Python cho các dự án của riêng bạn

Phiên bản Python được cài đặt trong

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
09 và
$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
28 là một phần của hệ điều hành. RHEL đã được thử nghiệm với một bản phát hành Python cụ thể (2.7.5) sẽ được duy trì cho tuổi thọ hỗ trợ mười năm đầy đủ của HĐH. Nhiều công cụ quản trị tích hợp thực sự được viết bằng Python. Cố gắng thay đổi phiên bản Python trong
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
82 thực sự có thể phá vỡ một số chức năng HĐH.

Tại một số điểm, bạn có thể muốn chạy mã của mình trên một phiên bản khác của HĐH. HĐH đó có thể sẽ có một phiên bản Python khác được cài đặt là

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
09,
$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
28 hoặc thậm chí
$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
32. Mã bạn viết có thể có sự phụ thuộc vào một phiên bản cụ thể có thể được quản lý tốt nhất thông qua các môi trường ảo và/hoặc bộ sưu tập phần mềm.

Một ngoại lệ ở trên là nếu bạn đang viết các công cụ quản trị hệ thống. Trong trường hợp đó, bạn nên sử dụng Python trong

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
82 vì nó có các mô -đun và thư viện chính xác được cài đặt cho API trong HĐH. Lưu ý: Nếu bạn đang viết quản trị hệ thống hoặc các công cụ quản lý bằng Python, bạn có thể muốn xem Ansible. Ansible được viết bằng Python, sử dụng jinja2 để tạo khuôn mẫu và cung cấp các bản tóm tắt cấp cao hơn cho nhiều nhiệm vụ hệ thống.

Mẹo: Nếu bạn cần làm việc với Python 2.7, hãy cài đặt bộ sưu tập phần mềm

# yum install rh-python36-numpy \
 rh-python36-scipy \ 
 rh-python36-python-tools \
 rh-python36-python-six
3. Thực hiện theo các bước cài đặt ở trên nhưng sử dụng
# yum install rh-python36-numpy \
 rh-python36-scipy \ 
 rh-python36-python-tools \
 rh-python36-python-six
3 thay vì
# subscription-manager repos --list
5. Bạn có thể kích hoạt cả hai bộ sưu tập cùng một lúc, vì vậy bạn sẽ có cả
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
11 và
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
71 mới hơn trong đường dẫn của mình. Lưu ý: Bộ sưu tập bạn kích hoạt cuối cùng là bản đầu tiên trong đường dẫn của bạn, xác định phiên bản bạn nhận được khi nhập lệnh như
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
08 hoặc
$ su -
# yum install @development
7 mà không có số phiên bản rõ ràng.

Không thay đổi hoặc ghi đè $ scl enable rh-python36 bash $ python3 -V Python 3.6.3 $ python -V # python now also points to Python3 Python 3.6.3 $ mkdir ~/pydev $ cd ~/pydev $ python3 -m venv py36-venv $ source py36-venv/bin/activate (py36-venv) $ python3 -m pip install ...some modules...09, $ scl enable rh-python36 bash $ cd ~/pydev $ source py36-env/bin/activate28 hoặc $ scl enable rh-python36 bash $ cd ~/pydev $ source py36-env/bin/activate43

Như đã đề cập ở trên, hệ thống Python là một phần của Red Hat Enterprise Linux 7 và được sử dụng bởi các tiện ích hệ thống quan trọng như

# subscription-manager repos --list
0. . Nếu bạn cố gắng biên dịch Python từ Nguồn, đừng thực hiện
$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
45 (như root) mà không sử dụng tiền tố khác hoặc nó sẽ ghi đè lên
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
09.


Mẹo thu thập phần mềm

Bật bộ sưu tập Python * Trước * Môi trường ảo

Bạn nên luôn luôn bật bộ sưu tập phần mềm Python trước khi sử dụng bất kỳ tiện ích môi trường ảo Python nào để tạo hoặc kích hoạt môi trường. Để mọi thứ hoạt động chính xác, bạn cần phải có phiên bản Python mong muốn của mình trên đường dẫn của bạn vì nó sẽ cần thiết cho môi trường ảo Python. Một số vấn đề, một số vấn đề tinh tế, sẽ xuất hiện nếu bạn cố gắng bật/kích hoạt sai thứ tự .________ 247before using any of Python virtual environment utilities to create or activate an environment. In order for things to work correctly, you need to have your desired version of Python in your path because it will be needed by the Python virtual environment. A number of problems, some of which are subtle, come up if you try to enable/activate in the wrong order.

$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
47

Ví dụ cho

$ su -
# yum install @development
8:

$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
2

Khi kích hoạt lại sau trong một vỏ mới:

$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
3

Ví dụ cho

$ su -
# yum install @development
9:

$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
4

Khi kích hoạt lại sau trong một vỏ mới:

$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
3

Ví dụ cho $ su - # yum install @development9:

Cách bật vĩnh viễn bộ sưu tập phần mềm

Để thêm Python 3 vĩnh viễn vào (các) đường dẫn của bạn, bạn có thể thêm lệnh

$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
50 vào "Tệp chấm" cho ID người dùng cụ thể của bạn. Lợi ích của phương pháp này là bộ sưu tập đã được kích hoạt ở mỗi lần đăng nhập. Nếu bạn đang sử dụng máy tính để bàn đồ họa, mọi thứ bạn bắt đầu từ menu sẽ được bật bộ sưu tập.

  • Có một vài cảnh báo với phương pháp này:you will get Python 3 instead of Python 2. You can still get Python 2 by typing
    $ scl enable rh-python36 bash
    $ python3 -V
    Python 3.6.3
    
    $ python -V  # python now also points to Python3 
    Python 3.6.3
    
    $ mkdir ~/pydev
    $ cd ~/pydev
    
    $ python3 -m venv py36-venv
    $ source py36-venv/bin/activate
    
    (py36-venv) $ python3 -m pip install ...some modules...
    10 or
    $ scl enable rh-python36 bash
    $ python3 -V
    Python 3.6.3
    
    $ python -V  # python now also points to Python3 
    Python 3.6.3
    
    $ mkdir ~/pydev
    $ cd ~/pydev
    
    $ python3 -m venv py36-venv
    $ source py36-venv/bin/activate
    
    (py36-venv) $ python3 -m pip install ...some modules...
    11. Using an explicit version number is strongly recommended.
  • Khi bạn nhập
    $ scl enable rh-python36 bash
    $ python3 -V
    Python 3.6.3
    
    $ python -V  # python now also points to Python3 
    Python 3.6.3
    
    $ mkdir ~/pydev
    $ cd ~/pydev
    
    $ python3 -m venv py36-venv
    $ source py36-venv/bin/activate
    
    (py36-venv) $ python3 -m pip install ...some modules...
    08 không có số phiên bản, bạn sẽ nhận được Python 3 thay vì Python 2. Bạn vẫn có thể nhận được Python 2 bằng cách nhập
    $ scl enable rh-python36 bash
    $ python3 -V
    Python 3.6.3
    
    $ python -V  # python now also points to Python3 
    Python 3.6.3
    
    $ mkdir ~/pydev
    $ cd ~/pydev
    
    $ python3 -m venv py36-venv
    $ source py36-venv/bin/activate
    
    (py36-venv) $ python3 -m pip install ...some modules...
    10 hoặc
    $ scl enable rh-python36 bash
    $ python3 -V
    Python 3.6.3
    
    $ python -V  # python now also points to Python3 
    Python 3.6.3
    
    $ mkdir ~/pydev
    $ cd ~/pydev
    
    $ python3 -m venv py36-venv
    $ source py36-venv/bin/activate
    
    (py36-venv) $ python3 -m pip install ...some modules...
    11. Sử dụng một số phiên bản rõ ràng được khuyến nghị mạnh mẽ.
  • Các điều trên áp dụng cho các lệnh Python khác trong
    $ scl enable rh-python36 bash
    $ python3 -V
    Python 3.6.3
    
    $ python -V  # python now also points to Python3 
    Python 3.6.3
    
    $ mkdir ~/pydev
    $ cd ~/pydev
    
    $ python3 -m venv py36-venv
    $ source py36-venv/bin/activate
    
    (py36-venv) $ python3 -m pip install ...some modules...
    14, chẳng hạn như
    $ su -
    # yum install @development
    7,
    $ scl enable rh-python36 bash
    $ python3 -V
    Python 3.6.3
    
    $ python -V  # python now also points to Python3 
    Python 3.6.3
    
    $ mkdir ~/pydev
    $ cd ~/pydev
    
    $ python3 -m venv py36-venv
    $ source py36-venv/bin/activate
    
    (py36-venv) $ python3 -m pip install ...some modules...
    16,
    $ scl enable rh-python36 bash
    $ python3 -V
    Python 3.6.3
    
    $ python -V  # python now also points to Python3 
    Python 3.6.3
    
    $ mkdir ~/pydev
    $ cd ~/pydev
    
    $ python3 -m venv py36-venv
    $ source py36-venv/bin/activate
    
    (py36-venv) $ python3 -m pip install ...some modules...
    17,
    $ scl enable rh-python36 bash
    $ python3 -V
    Python 3.6.3
    
    $ python -V  # python now also points to Python3 
    Python 3.6.3
    
    $ mkdir ~/pydev
    $ cd ~/pydev
    
    $ python3 -m venv py36-venv
    $ source py36-venv/bin/activate
    
    (py36-venv) $ python3 -m pip install ...some modules...
    18 và
    $ su -
    # yum install @development
    9. Sử dụng một số phiên bản để tránh bất ngờ.
    $ scl enable rh-python36 bash
    
    $ cd ~/pydev
    $ source py36-env/bin/activate
    60
    command. Everything is in environment variables, so you can work around it, but it would be a manual process. You can, however, enable a different software collection that will then take precedence over the collection in your profile.

Không có ____260Command. Tất cả mọi thứ nằm trong các biến môi trường, vì vậy bạn có thể làm việc xung quanh nó, nhưng nó sẽ là một quá trình thủ công. Tuy nhiên, bạn có thể kích hoạt một bộ sưu tập phần mềm khác mà sau đó sẽ được ưu tiên hơn bộ sưu tập trong hồ sơ của bạn.

$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
6

Sử dụng trình soạn thảo văn bản ưa thích của bạn, hãy thêm dòng sau vào

$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
61 của bạn:

Lưu ý: Bạn cũng có thể thêm dòng $ scl enable rh-python36 bash $ cd ~/pydev $ source py36-env/bin/activate50 vào đầu tập lệnh xây dựng để chọn python mong muốn cho bản dựng. Nếu tập lệnh xây dựng của bạn không được viết dưới dạng script shell/bash, bạn chỉ có thể bọc nó trong tập lệnh shell có lệnh $ scl enable rh-python36 bash $ cd ~/pydev $ source py36-env/bin/activate50 nguồn và sau đó chạy tập lệnh xây dựng của bạn.

Cách sử dụng Python 3 từ RHSCL trong #! (shebang) dòng kịch bản

$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
7

Bạn có thể tạo một tập lệnh sẽ sử dụng Python từ bộ sưu tập phần mềm mà không cần phải chạy thủ công trước. Điều này có thể được thực hiện bằng cách sử dụng

$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
65 làm trình thông dịch cho tập lệnh:

Lưu ý: Bạn có thể bị cám dỗ để thử chỉ sử dụng đường dẫn đầy đủ đến $ scl enable rh-python36 bash $ cd ~/pydev $ source py36-env/bin/activate66 mà không cần # subscription-manager repos --list-enabled1. Trong nhiều trường hợp, điều này sẽ không hoạt động. Hành vi phụ thuộc vào bộ sưu tập phần mềm cụ thể. Đối với hầu hết các bộ sưu tập, điều này sẽ thất bại với lỗi thư viện được chia sẻ, vì # subscription-manager repos --list-enabled9 không được đặt chính xác. Bộ sưu tập # yum install rh-python36-numpy \ rh-python36-scipy \ rh-python36-python-tools \ rh-python36-python-six3 không gây ra lỗi, nhưng nó tìm thấy thư viện chia sẻ sai, vì vậy bạn nhận được phiên bản Python sai, có thể gây ngạc nhiên. Tuy nhiên, # subscription-manager repos --list5 có thể được tham chiếu trực tiếp mà không cần thiết lập # subscription-manager repos --list-enabled9, nhưng hiện tại đây là bộ sưu tập Python duy nhất hoạt động theo cách đó. Không có gì đảm bảo rằng các bộ sưu tập trong tương lai sẽ hoạt động theo cùng một cách.

Cách xem bộ sưu tập phần mềm nào được cài đặt

$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
8

Bạn có thể sử dụng lệnh $ scl enable rh-python36 bash $ cd ~/pydev $ source py36-env/bin/activate72 để xem bộ sưu tập phần mềm nào được cài đặt. Điều này sẽ hiển thị tất cả các bộ sưu tập phần mềm được cài đặt, cho dù chúng có được bật hay không.

Cách cho biết bộ sưu tập phần mềm nào được bật

$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
9

Biến môi trường

$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
73 chứa danh sách các bộ sưu tập phần mềm hiện đang được bật.

Trong tập lệnh, bạn có thể sử dụng $ scl enable rh-python36 bash $ cd ~/pydev $ source py36-env/bin/activate74 để kiểm tra xem một bộ sưu tập cụ thể có được bật không.

Làm thế nào tôi có thể tìm thấy một danh sách các bộ sưu tập phần mềm Red Hat và thời gian chúng được hỗ trợ?

Xem Bộ sưu tập phần mềm Red Hat Vòng đời sản phẩm trên cổng khách hàng Red Hat. Nó có một danh sách các gói bộ sưu tập phần mềm Red Hat và thông tin hỗ trợ.

Bạn cũng có thể kiểm tra các ghi chú phát hành cho bản phát hành gần đây nhất của các bộ sưu tập phần mềm Red Hat.

Tìm các gói RPM bổ sung và xem các phiên bản có sẵn khác

Để tìm kiếm các gói khác là một phần của bộ sưu tập

# subscription-manager repos --list
5:

$ su -
# yum install @development
0

Bắt đầu với bộ sưu tập Python 3.4, tên thu thập và gói gói đều được đặt trước với

$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
77. Vì vậy, bạn có thể sử dụng lệnh sau để xem tất cả các gói
$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
78 và do đó, hãy xem các bộ sưu tập nào có sẵn.

$ su -
# yum install @development
1

Lưu ý: Để xem các gói có sẵn trong bộ sưu tập Python 2.7, tìm kiếm

# yum install rh-python36-numpy \
 rh-python36-scipy \ 
 rh-python36-python-tools \
 rh-python36-python-six
3.

$ su -
# yum install @development
2

Tất nhiên, bạn có thể tìm kiếm

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
08 và nhận danh sách mọi RPM có sẵn có
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
08 trong tên hoặc mô tả. Nó sẽ là một danh sách rất dài, vì vậy tốt nhất nên chuyển hướng đầu ra sang tệp và sử dụng
$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
82 hoặc trình chỉnh sửa văn bản để tìm kiếm tệp. Các gói bắt đầu bằng
$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
83 (không có số phiên bản) là một phần của các gói Rhel Python 2.7.5 cơ sở được cài đặt trong
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
82.


Xử lý sự cố

Python: Lỗi khi tải thư viện chia sẻ

Lỗi này xảy ra khi bạn đang cố gắng chạy nhị phân nhưng các thư viện được chia sẻ mà nó phụ thuộc vào không thể tìm thấy. Thông thường, điều này xảy ra khi cố gắng chạy

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
08 từ bộ sưu tập phần mềm mà không cho phép trước. Ngoài việc cài đặt
# subscription-manager repos --list-enabled
7,
# subscription-manager repos --list-enabled
1 cũng đặt
# subscription-manager repos --list-enabled
9. Điều này thêm thư mục chứa các đối tượng được chia sẻ của Bộ sưu tập phần mềm vào đường dẫn tìm kiếm thư viện.

Để xem các biến môi trường nào được sửa đổi, hãy xem

$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
89.

$ su -
# yum install @development
3

Phiên bản Python sai khi chạy $ scl enable rh-python36 bash $ python3 -V Python 3.6.3 $ python -V # python now also points to Python3 Python 3.6.3 $ mkdir ~/pydev $ cd ~/pydev $ python3 -m venv py36-venv $ source py36-venv/bin/activate (py36-venv) $ python3 -m pip install ...some modules...08

Đầu tiên, chạy

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
08 không có số phiên bản có khả năng cung cấp cho bạn một phiên bản Python bất ngờ tại một số điểm. Kết quả phụ thuộc vào
# subscription-manager repos --list-enabled
7 của bạn, phụ thuộc vào việc bạn đã kích hoạt bộ sưu tập phần mềm và/hoặc kích hoạt môi trường ảo. Nếu bạn sử dụng một số phiên bản như
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
71 và bạn đã không bật/kích hoạt đúng môi trường, bạn sẽ không tìm thấy lỗi lệnh rõ ràng và dễ hiểu.

Thứ hai, bạn cũng có thể nhận được phiên bản sai nếu bạn quên bật bộ sưu tập phần mềm. Kích hoạt bộ sưu tập phần mềm đặt thư mục

$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
94 của bộ sưu tập vào đường dẫn của bạn trước, do đó, nó sẽ ẩn tất cả các phiên bản khác của các lệnh có cùng tên.forgotten to enable the software collection. Enabling the software collection puts the collection's
$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
94 directory in your path first, so it will hide all of the other versions of commands with the same name.

Bộ sưu tập phần mềm cần được bật ngay cả khi bạn đưa ra đường dẫn đầy đủ đến nhị phân

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
08. Đối với hầu hết các bộ sưu tập, bạn sẽ gặp lỗi thư viện được chia sẻ (xem ở trên) mà không có đường dẫn thư viện được đặt chính xác. Tuy nhiên, nếu bạn thử điều này với bộ sưu tập
# yum install rh-python36-numpy \
 rh-python36-scipy \ 
 rh-python36-python-tools \
 rh-python36-python-six
3, bạn sẽ nhận được Python 2.7.5 (phiên bản mặc định) thay vì Python 2.7.13 như bạn mong đợi. Điều này là do sự phụ thuộc của thư viện được chia sẻ được thỏa mãn từ
$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
97 thay vì từ bộ sưu tập phần mềm, vì vậy bạn chọn Python hệ thống.
. For most of the collections, you'll get a shared library error (see above) without the library path being set correctly. However, if you try this with the
# yum install rh-python36-numpy \
 rh-python36-scipy \ 
 rh-python36-python-tools \
 rh-python36-python-six
3 collection, you'll get Python 2.7.5 (the default version) instead of Python 2.7.13 as you'd expect. This is because the shared library dependency is satisfied out of
$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
97 instead of from the software collection, so you pick up the system Python.

Lỗi chạy

Nếu bạn chạy

$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
99, như một số hướng dẫn đề xuất, lệnh
$ su -
# yum install @development
7 sẽ không còn hoạt động nữa. Vấn đề là một vấn đề đường dẫn kết hợp với sự không tương thích giữa các phiên bản. Việc cài đặt người dùng
$ su -
# yum install @development
7 đã đặt lệnh
$ su -
# yum install @development
7 mới trong
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
96. Tuy nhiên,
$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
96 nằm trong đường dẫn của bạn * sau * Bộ sưu tập phần mềm. Vì vậy, bạn nhận được tập lệnh trình bao bọc cũ không tương thích với mô -đun mới hơn.

Điều này có thể được làm việc xung quanh theo nhiều cách:

  • Sử dụng môi trường ảo. Khi bạn tạo hoặc kích hoạt môi trường ảo, bạn sẽ nhận được tập lệnh trình bao bọc
    $ su -
    # yum install @development
    7 chính xác trong thư mục
    $ scl enable rh-python36 bash
    $ python3 -V
    Python 3.6.3
    
    $ python -V  # python now also points to Python3 
    Python 3.6.3
    
    $ mkdir ~/pydev
    $ cd ~/pydev
    
    $ python3 -m venv py36-venv
    $ source py36-venv/bin/activate
    
    (py36-venv) $ python3 -m pip install ...some modules...
    14 của môi trường ảo.
  • Chạy
    $ su -
    # yum install @development
    7 dưới dạng mô -đun:
    $ su -
    # yum install @development
    08 (xem "Tránh các tập lệnh bao bọc Python" ở trên.)
  • Đừng nâng cấp
    $ su -
    # yum install @development
    7 bên ngoài môi trường ảo.
  • Sử dụng đường dẫn đầy đủ đến tập lệnh trình bao bọc
    $ su -
    # yum install @development
    7:
    $ su -
    # yum install @development
    11.
  • Thêm
    $ scl enable rh-python36 bash
    $ python3 -V
    Python 3.6.3
    
    $ python -V  # python now also points to Python3 
    Python 3.6.3
    
    $ mkdir ~/pydev
    $ cd ~/pydev
    
    $ python3 -m venv py36-venv
    $ source py36-venv/bin/activate
    
    (py36-venv) $ python3 -m pip install ...some modules...
    96 làm thư mục đầu tiên trong
    # subscription-manager repos --list-enabled
    7 của bạn sau khi bật bộ sưu tập phần mềm Python.

Lưu ý: Để gỡ cài đặt

$ su -
# yum install @development
7 được nâng cấp đã được cài đặt trong
$ scl enable rh-python36 bash

$ cd ~/pydev
$ source py36-env/bin/activate
21, hãy chạy lệnh sau trong ID người dùng thông thường của bạn (không phải
$ su -
# subscription-manager repos \
 --enable rhel-7-server-optional-rpms \
 --enable rhel-server-rhscl-7-rpms
6):

$ su -
# yum install @development
4

Không thể tìm thấy $ su - # yum install @development17

Bộ sưu tập phần mềm

# subscription-manager repos --list
5 bao gồm tập lệnh trình bao bọc
$ su -
# yum install @development
9 nhưng không có liên kết cho
$ su -
# yum install @development
17. Có hai cách giải quyết cho việc này, nhưng đầu tiên tôi nên chỉ ra rằng
$ su -
# yum install @development
8 bây giờ là công cụ ưa thích của Python 3 cho các môi trường ảo.

Cách giải quyết ưa thích là để tránh hoàn toàn tập lệnh trình bao bọc và gọi trực tiếp mô -đun:

$ scl enable rh-python36 bash
$ python3 -V
Python 3.6.3

$ python -V  # python now also points to Python3 
Python 3.6.3

$ mkdir ~/pydev
$ cd ~/pydev

$ python3 -m venv py36-venv
$ source py36-venv/bin/activate

(py36-venv) $ python3 -m pip install ...some modules...
5

Ngoài ra, bạn có thể tạo Symlink của riêng mình trong thư mục

$ su -
# yum install @development
22 của mình:

$ su -
# yum install @development
6

Thông tin thêm: Phát triển trong Python trên nền tảng Hat Red

Nick Coghlan và Graham Dumpleton đã có một cuộc nói chuyện phát triển trong Python trên các nền tảng Hat Hat tại Devnation 2016. Cuộc nói chuyện đầy ắp thông tin và vẫn rất phù hợp. Chúng bao gồm thông tin về việc xây dựng các ứng dụng Python bằng cách sử dụng các thùng chứa, sử dụng S2I và triển khai để Red Hat OpenShift. Tôi khuyên bạn nên xem video hoặc ít nhất là xem xét các slide.

https://www.youtube.com/watch?v=tlTSQIVQ8QK


Bản tóm tắt

Sau khi đọc bài viết này, bạn đã học được:

  • Cách cài đặt Python 3 và các phiên bản Python khác được hỗ trợ bởi Red Hat bằng cách sử dụng các bộ sưu tập phần mềm Red Hat trên Red Hat Enterprise Linux
  • Môi trường ảo Python là một thực tiễn tốt nhất để cài đặt các mô -đun Python trong khi cô lập các phụ thuộc để tránh xung đột. Bạn có thể tạo và kích hoạt các môi trường ảo với
    $ su -
    # yum install @development
    8 và
    $ su -
    # yum install @development
    9. Cả hai công cụ sẽ được cài đặt cho bạn như một phần của bộ sưu tập phần mềm.
  • Khoảng
    $ su -
    # subscription-manager repos \
     --enable rhel-7-server-optional-rpms \
     --enable rhel-server-rhscl-7-rpms
    0, một công cụ tương tự như
    $ su -
    # yum install @development
    26, được khuyến nghị bởi Hướng dẫn đóng gói Python để quản lý các phụ thuộc ứng dụng, đặc biệt là vào các dự án được chia sẻ. PIPENV cung cấp một lệnh tích hợp cả
    $ su -
    # yum install @development
    7 và
    $ su -
    # yum install @development
    9.
  • Những điều cần tránh như:
    • Chạy
      $ scl enable rh-python36 bash
      $ python3 -V
      Python 3.6.3
      
      $ python -V  # python now also points to Python3 
      Python 3.6.3
      
      $ mkdir ~/pydev
      $ cd ~/pydev
      
      $ python3 -m venv py36-venv
      $ source py36-venv/bin/activate
      
      (py36-venv) $ python3 -m pip install ...some modules...
      55 AS
      $ su -
      # subscription-manager repos \
       --enable rhel-7-server-optional-rpms \
       --enable rhel-server-rhscl-7-rpms
      6 để tránh xung đột với các gói RPM được cài đặt bởi
      # subscription-manager repos --list
      0
    • $ scl enable rh-python36 bash
      $ python3 -V
      Python 3.6.3
      
      $ python -V  # python now also points to Python3 
      Python 3.6.3
      
      $ mkdir ~/pydev
      $ cd ~/pydev
      
      $ python3 -m venv py36-venv
      $ source py36-venv/bin/activate
      
      (py36-venv) $ python3 -m pip install ...some modules...
      08 mà không có số phiên bản để tránh sự mơ hồ về phiên bản nào sẽ được chạy và những điều bất ngờ có thể xảy ra từ đó
    • Sửa đổi/usr/bin/python vì nhiều công cụ quản lý hệ thống như
      # subscription-manager repos --list
      0 phụ thuộc vào nó và có thể phá vỡ
  • Mẹo làm việc với bộ sưu tập phần mềm Red Hat
    • Luôn bật bộ sưu tập phần mềm Python trước khi sử dụng môi trường ảobefore using virtual environments
    • Cách bật vĩnh viễn bộ sưu tập phần mềm, vì vậy bạn sẽ luôn có Python3 trên đường dẫn của mình
    • Cách sử dụng Python 3 từ RHSCL trong #! (shebang) dòng kịch bản
  • Cách khắc phục sự cố phổ biến như
    • Python: Lỗi khi tải thư viện chia sẻ
    • $ su -
      # yum install @development
      34 BREAK PIP VỚI: Bộ nhập khẩu không thể nhập tên 'chính'
    • Phiên bản Python sai khi nhập
      $ scl enable rh-python36 bash
      $ python3 -V
      Python 3.6.3
      
      $ python -V  # python now also points to Python3 
      Python 3.6.3
      
      $ mkdir ~/pydev
      $ cd ~/pydev
      
      $ python3 -m venv py36-venv
      $ source py36-venv/bin/activate
      
      (py36-venv) $ python3 -m pip install ...some modules...
      08

Cập nhật lần cuối: 15 tháng 11 năm 2018

Làm cách nào để cài đặt Python trên Linux?

Hướng dẫn từng bước để cài đặt Python trên Linux..
Bước 1 - Cài đặt các gói phát triển cần thiết để cài đặt Python trên Linux- ....
Bước 2 - Tải xuống phiên bản mới nhất của Python ..
Bước 3 - Trích xuất tệp TAR để cài đặt Python trên Linux ..
Bước 4 - Định cấu hình tập lệnh ..

Làm cách nào để tải xuống Python 3.7 trên Linux?

Để cài đặt Python 3.7 trên Linux..
Trên các dẫn xuất Debian, chẳng hạn như Ubuntu, sử dụng apt. $ sudo apt-get cài đặt python3.7 ..
Trên mũ đỏ và các dẫn xuất, sử dụng yum. $ sudo yum cài đặt python37 ..
Trên SUSE và các dẫn xuất, sử dụng Zypper. $ sudo zypper cài đặt python3-3.7 ..

Python 3.9 6 có pip không?

Python 3.9 có hỗ trợ PIP không?Phiên bản hiện tại của PIP hoạt động trên: Windows, Linux và MacOS.Cpython 3.7, 3.8, 3.9, 3.10 và PYPY3 mới nhất.The current version of pip works on: Windows, Linux and MacOS. CPython 3.7, 3.8, 3.9, 3.10 and latest PyPy3.

Làm cách nào để cài đặt Python 3.8 trên thiết bị đầu cuối Linux?

Làm cách nào để cài đặt Python 3.8 trên Ubuntu 21 ?..
Bước 1 - Cài đặt Điều kiện tiên quyết.Khi bạn sẽ cài đặt Python 3.8 từ nguồn ..
Bước 2 - Tải xuống Python 3.8.Tải xuống mã nguồn Python bằng cách sử dụng lệnh sau từ trang web chính thức của Python ..
Bước 3 - Biên dịch Nguồn Python ..
Bước 4 - Kiểm tra phiên bản Python ..