Hướng dẫn can you have multiple python versions installed linux? - bạn có thể cài đặt nhiều phiên bản python linux không?

Người quản lý gói - cấp độ người dùng

Đối với Trình quản lý gói có thể cài đặt và quản lý nhiều phiên bản Python, đây là những lựa chọn tốt:

  • PyenV - Chỉ có thể cài đặt và quản lý các phiên bản của Python
  • ASDF - Có thể cài đặt và quản lý nhiều ngôn ngữ khác nhau

Ưu điểm của các nhà quản lý gói này là có thể dễ dàng thiết lập chúng và cài đặt nhiều phiên bản Python với họ hơn là cài đặt Python từ nguồn. Họ cũng cung cấp các lệnh để dễ dàng thay đổi (các) phiên bản Python có sẵn bằng cách sử dụng shims và đặt phiên bản Python trên mỗi hướng.

Nhược điểm này là, theo mặc định, chúng được cài đặt ở cấp độ người dùng (bên trong thư mục nhà của bạn) và yêu cầu một chút cấu hình cấp người dùng-bạn sẽ cần chỉnh sửa

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
5 và
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
6 hoặc các tệp tương tự. Điều này có nghĩa là không dễ sử dụng chúng để cài đặt nhiều phiên bản Python trên toàn cầu cho tất cả người dùng. Để thực hiện việc này, bạn có thể cài đặt từ nguồn cùng với phiên bản Python hiện có của HĐH.


Cài đặt từ nguồn - toàn hệ thống

Bạn sẽ cần các đặc quyền gốc cho phương pháp này.

Xem tài liệu Python chính thức để xây dựng từ nguồn để xem xét và tùy chọn bổ sung.

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
7 là vị trí được chỉ định cho quản trị viên hệ thống để cài đặt phần mềm được chia sẻ (toàn hệ thống), do đó, các thư mục con là một nơi tốt để tải xuống nguồn Python và cài đặt. Xem Phần 4.9 của Tiêu chuẩn phân cấp tệp của Linux Foundation.

Cài đặt bất kỳ phụ thuộc xây dựng. Trên các hệ thống dựa trên Debian, sử dụng:

apt update
apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev libbz2-dev

Chọn phiên bản Python bạn muốn cài đặt. Xem trang phát hành nguồn Python để biết danh sách.

Tải xuống và giải nén tệp trong

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
8, thay thế
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
9 bên dưới bằng phiên bản Python (tức là
export CFLAGS='-fPIC'
0).

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz

Trước khi xây dựng và cài đặt, hãy đặt biến môi trường

export CFLAGS='-fPIC'
1 với các cờ biên dịch C cần thiết (xem tài liệu
export CFLAGS='-fPIC'
2 của GNU). Điều này thường không cần thiết cho việc sử dụng chung, nhưng nếu, ví dụ, bạn sẽ tạo một plugin UWSGI với phiên bản Python này, bạn có thể muốn đặt cờ,
export CFLAGS='-fPIC'
3, với phần sau:

export CFLAGS='-fPIC'

Thay đổi thư mục làm việc thành thư mục nguồn Python được giải nén và định cấu hình bản dựng. Có lẽ bạn sẽ muốn sử dụng tùy chọn

export CFLAGS='-fPIC'
4 trên lệnh
export CFLAGS='-fPIC'
5 để tối ưu hóa có hướng dẫn hồ sơ. Sử dụng
export CFLAGS='-fPIC'
6 để cài đặt vào các thư mục con thích hợp (
export CFLAGS='-fPIC'
7,
export CFLAGS='-fPIC'
8, v.v.).

cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local

Xây dựng dự án với

export CFLAGS='-fPIC'
2 và cài đặt với
cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
0 để tránh ghi đè bất kỳ tệp nào khi cài đặt nhiều phiên bản. Xem cảnh báo trên trang này của tài liệu xây dựng Python.

make -j 4
make altinstall

Sau đó, bạn sẽ có thể chạy các phiên bản Python và PIP mới của bạn với

cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
1 và
cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
2 (tức là
cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
3 và
cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
4). Lưu ý rằng nếu phiên bản nhỏ của cài đặt mới của bạn giống như phiên bản của OS (ví dụ: nếu bạn đã cài đặt Python3.8.4 và HĐH đã sử dụng Python3.8.2), thì bạn sẽ cần chỉ định toàn bộ đường dẫn (
cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
5) hoặc đặt Một bí danh để sử dụng phiên bản này.

Có một số khác biệt tinh tế để quản lý các phiên bản Python trên các phân phối cũ của Ubuntu. Nếu bạn đang chạy Ubuntu 18.04 trở lên, hãy đến đây.


Một trong những thất vọng đầu tiên của tôi với sự phát triển của Python không liên quan gì đến chính Python, mà là hành động bí truyền không cần thiết là triển khai một ứng dụng Python. Code Bootcamp và hướng dẫn thực hiện tốt công việc dạy học sinh cách chạy mã Python cục bộ, nhưng các ứng dụng có ý nghĩa nhất không chạy trên máy địa phương: chúng chạy trên máy chủ, trên internet, vì đó là vấn đề, phải không? Có lẽ tôi đang uống thuốc điên ở đây.

Tùy thuộc & nbsp; trên phiên bản Ubuntu nào bạn đang chạy, VPS của bạn có thể được vận chuyển bằng Python 2.7 hoặc cả Python 2.7 và Python 3.6. Nhưng điều gì sẽ xảy ra nếu bạn không muốn chạy một trong hai phiên bản đó? Nếu bạn giống tôi, bạn có thể đã cố gắng thay thế cài đặt mặc định của hệ thống và phá hủy máy của bạn trong quá trình. Trong trường hợp không ai nói với bạn không làm điều đó, tôi sẽ làm vinh dự: Đừng làm điều đó.Python 2.7, or both Python 2.7 and Python 3.6. But what if you don't want to run either of those versions? If you're like me, you might have tried to replace your system's default installation and destroyed your machine in the process. In case nobody has told you not to do that, I'll do the honors: don't do that.

Vậy ta phải làm sao? Có một vài cách để thực hiện một phiên bản Python được cập nhật trên Ubuntu, nhưng sử dụng "Cài đặt thay thế" tích hợp của Ubuntu là tối ưu vì một số lý do:

  1. Chúng tôi muốn rời khỏi phiên bản hệ thống của chúng tôi của Python.
  2. Tốt nhất là tránh làm rối xung quanh với con đường Python của bạn bất cứ khi nào có thể.
  3. Chúng tôi có thể dễ dàng chuyển đổi phiên bản hoạt động của Python trên máy của chúng tôi thông qua CLI thuận tiện.

Chúng tôi sẽ đi qua cách cài đặt phiên bản Python mới nhất hiện tại cùng với các phiên bản Python hệ thống của Ubuntu một cách an toàn và dễ dàng.

Tải xuống phiên bản Python mới nhất

Bước đầu tiên phải quen thuộc: Chúng tôi cần cập nhật các gói và gương của Ubuntu để đảm bảo chúng tôi kéo các gói mới nhất khi chúng tôi cài đặt bất cứ thứ gì:

$ apt update && apt upgrade -y
Bligatory cập nhật

Cài đặt Python Fresh trên máy Ubuntu yêu cầu chúng tôi cài đặt cả một loạt các thư viện điều kiện tiên quyết mà Python phụ thuộc vào. Tôi thực sự không chắc chắn một nửa trong số này làm gì, và không ai trong chúng ta có thể sẽ cần. Tin tôi đi, đó là một bước bắt buộc:

$ sudo apt-get install build-essential checkinstall
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev \
    libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev
phụ thuộc Python

Đây là nơi mà rất nhiều người có thể chuyển sang cài đặt Python thông qua Trình quản lý gói của Ubuntu với

cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
6. Chúng tôi sẽ tải xuống và xây dựng phiên bản Python mới nhất từ ​​nguồn, vì một số lý do. Nếu phiên bản Python đủ mới, một số máy Ubuntu có thể có các gương cập nhật cần thiết để tìm phiên bản mới nhất quan trọng hơn, việc quản lý nhiều cài đặt Python theo cách này sẽ dễ dàng hơn.

Phiên bản mới nhất của Python luôn có thể được tìm thấy trên trang phát hành nguồn Python trên python.org:

Phát hành nguồn Python để phát hành nguồn

Ngôi nhà chính thức của ngôn ngữ lập trình Python

Hướng dẫn can you have multiple python versions installed linux? - bạn có thể cài đặt nhiều phiên bản python linux không?
Python.org

Hướng dẫn can you have multiple python versions installed linux? - bạn có thể cài đặt nhiều phiên bản python linux không?

Liên kết đầu tiên trên trang trên nên đọc bản phát hành Python 3 mới nhất - Python 3.x. Trên trang đó, cuộn đến phần "Tệp" và sao chép URL của Tarball nguồn Gzipped.Latest Python 3 Release - Python 3.X. On that page, scroll to the "files" section and copy the URL of the Gzipped source tarball.

Trên máy Ubuntu của bạn, bạn sẽ lấy nguồn Python từ URL bạn đã sao chép với

cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
7. Các dòng bên dưới sẽ tải xuống Lưu trữ Python 3.9.2 nén vào thư mục /OPT của bạn và giải nén nó:/opt folder and unzip it:

$ cd /opt
$ sudo wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
$ sudo tar xzf Python-3.8.0.tgz
tải xuống Python

Phiên bản mới nhất của Python hiện đã được tải xuống. Bây giờ chúng ta chỉ cần cài đặt nó ... chính xác.

Cài đặt Python thay thế từ nguồn

Sự thất vọng của việc cài đặt Python với

cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
6 là nó sẽ cài đặt Python tốt, nhưng Ubuntu vẫn sẽ mặc định sử dụng bất kỳ phiên bản nào của Python là mặc định. May mắn cho chúng tôi, Ubuntu cho phép chúng tôi cài đặt các phiên bản Python bổ sung (AKA: thay thế) bằng cách cung cấp cho chúng tôi lệnh
cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
0:

$ cd Python-3.8.0
$ sudo ./configure --enable-optimizations
$ sudo make altinstall
Tall từ nguồn

Điều này có thể mất một chút thời gian để hoàn thành. Sau khi hoàn thành, hãy tiếp tục và xác minh rằng phiên bản Python 3 bạn muốn được cài đặt trên hộp của bạn:

$ python3 --version
Python 3.8.0
Validate phiên bản Python

Và nó ở đó! Một con trăn mới sáng bóng: Python 3.8. Ubuntu thuận tiện làm cho điều này là mặc định cho chúng tôi.

Quản lý cài đặt Python thay thế

Vì vậy, bây giờ chúng tôi có một vài phiên bản Python được cài đặt trên máy của chúng tôi. Có một hệ thống Python 2.7 mặc định, một Python 3 mặc định hệ thống và bây giờ Python 3.8 mới được thêm vào của chúng tôi. Chúng tôi muốn để lại các cài đặt Python mặc định hệ thống của chúng tôi một mình, nhưng chúng tôi muốn phát triển trong Python 3.8 .... Vậy làm thế nào để chúng tôi quản lý điều này?

May mắn thay, Linux đã đề cập đến chúng tôi trong kịch bản này với lệnh cập nhật-thay thế. Chúng tôi có thể nói với Ubuntu rằng chúng tôi có một loạt các phiên bản thay thế của cùng một phần mềm trên máy của chúng tôi, do đó cho chúng tôi khả năng chuyển đổi giữa chúng một cách dễ dàng. Đây là cách nó hoạt động:

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
0 Đặt các phiên bản thay thế cho Python

Chúng tôi đã chạy

make -j 4
make altinstall
0 hai lần: một lần cho Python 3.6 và một lần cho Python 3.8 (đừng lo lắng về Python 2.7, hệ thống của bạn biết về nó ... tin tôi đi). Bây giờ chúng tôi có thể sử dụng
make -j 4
make altinstall
1 để liệt kê tất cả các cài đặt thay thế mà chúng tôi có của một số phần mềm nhất định:

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
1 Danh sách đã cài đặt các phiên bản Python

Bây giờ chúng ta có thể trao đổi giữa các phiên bản của Python! Chạy như sau:

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
2Swaps giữa các phiên bản

Bạn nên bị đánh với một lời nhắc như cái dưới đây. Điều này sẽ liệt kê tất cả các phiên bản của Python mà hệ thống của bạn nhận ra. Chọn phiên bản Python bạn muốn sử dụng bằng cách cung cấp số "lựa chọn" cho dấu nhắc:

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
3cli để chuyển đổi phiên bản Python hoạt động

Và bạn đã làm điều đó! Để chuyển các phiên bản Python, tất cả những gì bạn cần làm là trả lời lời nhắc trên với số lựa chọn đại diện cho phiên bản Python bạn muốn sử dụng.

Nghe có vẻ vô lý, nhưng thành công trong việc thay đổi các phiên bản Python trong Ubuntu mà không phá vỡ mọi thứ là khá ấn tượng. Tôi cho rằng đây chủ yếu là lỗi của những người dạy Python. Nếu "những người không thể làm, dạy", thật công bằng khi cho rằng rất nhiều khóa học Python được dạy bởi những người chưa ra mắt phần mềm có ý nghĩa. Điều đó thật khắc nghiệt, nhưng đừng @ tôi bất kể.

Chúng tôi đã thực hiện phần "khó khăn", nhưng có một chút vệ sinh để chăm sóc. Chúng tôi vẫn cần cài đặt PIP cho Python mới được cài đặt, cũng như nâng cấp PIP lên phiên bản mới nhất:pip for our newly installed Python, as well as upgrade pip to the latest version:

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
4install PIP3

Thats tất cả để có nó!

Tôi có thể cài đặt 2 phiên bản Python không?

Với Navigator, bạn có thể có các phiên bản Python khác nhau trên máy tính của mình và dễ dàng chuyển đổi giữa chúng bằng cách giữ chúng trong các môi trường khác nhau.Để sử dụng một phiên bản khác của Python so với phiên bản bạn hiện đang sử dụng, hãy thiết lập một môi trường mới: bắt đầu điều hướng. and easily switch between them by keeping them in different environments. To use a different version of Python than the one you are currently using, set up a new environment: Start Navigator.

Bạn có thể có nhiều phiên bản Python được cài đặt Ubuntu không?

Dễ dàng cài đặt và quản lý nhiều phiên bản Python trên Ubuntu 20.04 hoặc mới hơn.Có một số khác biệt tinh tế trong việc quản lý các phiên bản Python trên các phân phối cũ của Ubuntu.Nếu bạn đang chạy Ubuntu 18.04 trở lên, hãy đến đây.. There are a number of subtle differences in managing versions of Python on older distributions of Ubuntu. If you're running Ubuntu 18.04 or older, go here.

Nhiều phiên bản Python có thể chạy trên cùng một máy không?

Nếu bạn muốn sử dụng nhiều phiên bản Python trên một máy, thì PyenV là một công cụ thường được sử dụng để cài đặt và chuyển đổi giữa các phiên bản.Điều này không được nhầm lẫn với tập lệnh Pyvenv khấu hao được đề cập trước đó.Nó không đi kèm với Python và phải được cài đặt riêng.pyenv is a commonly used tool to install and switch between versions. This is not to be confused with the previously mentioned depreciated pyvenv script. It does not come bundled with Python and must be installed separately.