Hướng dẫn pip different version of python - pip phiên bản khác của python

Đây là vấn đề của tôi về vấn đề. Hoạt động cho Python3. Các tính năng chính là:

  • Mỗi phiên bản Python được tổng hợp từ nguồn
  • Tất cả các phiên bản được cài đặt cục bộ
  • Không tạo ra cài đặt python mặc định của hệ thống của bạn theo bất kỳ cách nào
  • Mỗi phiên bản Python được phân lập với VirtualEnV

Điều kiện tiên quyết: Nếu bạn đang sử dụng một số máy khách mỏng xương trần mà không có thêm cỏ, bạn nên chạy điều này trước (ít nhất trong Ubuntu 18.04, các gói bổ sung được thêm vào để thuận tiện):

sudo apt-get update
sudo apt-get install software-properties-common
sudo apt-add-repository universe
sudo apt-get update
sudo apt-get install -y build-essential cmake

sudo apt-get install -y zlib1g zlib1g-dev libsqlite3-dev \
openssl libssl-dev libffi-dev unzip pciutils net-tools \
libblas-dev gfortran libblas3 

Các bước thực hiện như sau:

  1. Nếu bạn có thêm một số phiên bản Python được cài đặt theo một cách khác, hãy loại bỏ chúng, ví dụ: xóa $ home/.local/lib/python3.x, v.v. (cũng là các phiên bản được cài đặt toàn cầu). Đừng chạm vào phiên bản Python3 mặc định của hệ thống của bạn.

  2. Tải xuống nguồn cho các phiên bản Python khác nhau trong cấu trúc thư mục sau:

     $HOME/
         python_versions/ : download Python-*.tgz packages here and "tar xvf" them.  You'll get directories like this:
           Python-3.4.8/
           Python-3.6.5/
           Python-3.x.y/
           ...
    
  3. Tại mỗi thư mục "Python-3.x.y/", hãy làm như sau (không sử dụng "sudo" trong bất kỳ bước nào!):NOT use "sudo" in any of the steps!):

     mkdir root
     ./configure --prefix=$PWD/root 
     make -j 2
     make install
     virtualenv --no-site-packages -p root/bin/python3.x env
    
  4. Tại "Python_Versions/" Tạo các tệp như thế này:

     env_python3x.bash:
    
     #!/bin/bash
     echo "type deactivate to exit"
     source $HOME/python_versions/Python-3.x.y/env/bin/activate
    
  5. Bây giờ, bất cứ lúc nào bạn muốn chọn Python3.x, hãy làm

     source $HOME/python_versions/env_python3x.bash
    

Để vào VirtualEnv

  1. Trong khi ở VirtualEnv, hãy cài đặt các gói Python yêu thích của bạn với

     pip install --upgrade package_name
    
  2. Để thoát khỏi phiên bản VirtualEnv và Python chỉ cần nhập "Vô hiệu hóa"

CẬP NHẬT

Có vẻ như

 $HOME/
     python_versions/ : download Python-*.tgz packages here and "tar xvf" them.  You'll get directories like this:
       Python-3.4.8/
       Python-3.6.5/
       Python-3.x.y/
       ...
4 không được chấp nhận. Có một bản sửa lỗi dễ dàng cho việc này: Một khi bạn đã kích hoạt VirtualEnv, chỉ cần trỏ biến env gia đình đến một nơi khác ngoài thư mục nhà thực tế của bạn, tức là .:

export HOME=some/where/else

Một cách hay để làm điều này nói chung là:

  • Tạo ảo
  • Kích hoạt VirtualEnv
  • Nếu bạn muốn "tái chế" các thư viện hiện có vào VirtualEnv của bạn, hãy liên kết chúng từ cài đặt hiện tại của bạn, tức là
     $HOME/
         python_versions/ : download Python-*.tgz packages here and "tar xvf" them.  You'll get directories like this:
           Python-3.4.8/
           Python-3.6.5/
           Python-3.x.y/
           ...
    
    5
  • Làm
     $HOME/
         python_versions/ : download Python-*.tgz packages here and "tar xvf" them.  You'll get directories like this:
           Python-3.4.8/
           Python-3.6.5/
           Python-3.x.y/
           ...
    
    6,
     $HOME/
         python_versions/ : download Python-*.tgz packages here and "tar xvf" them.  You'll get directories like this:
           Python-3.4.8/
           Python-3.6.5/
           Python-3.x.y/
           ...
    
    7

Bây giờ bạn nên có Virtualenv được phân lập tùy chỉnh.

Cập nhật 2 / sudo

Không nên buộc sudo sử dụng ảo của bạn?

Defaults        secure_path="/home/USENAME/Python-3.x.y/env/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
Defaults        env_keep += "VIRTUAL_ENV"
Defaults        env_keep += "PYTHONPATH"

Bây giờ hãy thử "sudo python3 --version" và ma thuật sẽ xảy ra

Cập nhật 3 / Docker

Kích hoạt VirtualEnv bên trong Docker của bạn (tất nhiên, bạn đã xây dựng nó trong hình ảnh Docker của bạn):

ENV VIRTUAL_ENV=/home/USER/Python-3.x.y/env
ENV PYTHONPATH=
ENV PATH="$VIRTUAL_ENV/bin:$PATH"

Trong hướng dẫn Python này, bạn sẽ tìm hiểu cách sử dụng PIP để cài đặt một phiên bản cụ thể của gói. Các phác thảo của bài (cũng có thể thấy trong TOC) như sau. Đầu tiên, bạn sẽ nhận được một giới thiệu ngắn gọn với các ví dụ về khi nào bạn có thể cần cài đặt, ví dụ: Một phiên bản cũ hơn của một gói. Thứ hai, bạn sẽ nhận được cú pháp chung về cách thực hiện nhiệm vụ này. Sau đó, bạn sẽ nhận được hai bước để cài đặt các phiên bản cụ thể của các gói Python với PIP. Trong phần này, bạn cũng sẽ học cách làm việc với một môi trường ảo. Trong phần tiếp theo, chúng tôi sẽ xem xét cách chỉ định phiên bản của nhiều gói Python bằng cách tạo tệp .txt. & NBSP;

  • Tại sao cài đặt một phiên bản cũ hơn của một gói?
  • PIP PIP Cú pháp để cài đặt một phiên bản cụ thể của gói
  • Làm cách nào để cài đặt một phiên bản cụ thể của gói Python?
  • Hai bước để cài đặt phiên bản cụ thể của gói với PIP:
    • 1) Cài đặt VirtualEnv và tạo môi trường
    • 2) Cài đặt phiên bản cụ thể bạn cần với PIP
  • Xử lý nhiều gói và cài đặt các phiên bản cụ thể
  • Sự kết luận
  • Tài nguyên

Tại sao cài đặt một phiên bản cũ hơn của một gói?

PIP PIP Cú pháp để cài đặt một phiên bản cụ thể của gói

Làm cách nào để cài đặt một phiên bản cụ thể của gói Python?

PIP PIP Cú pháp để cài đặt một phiên bản cụ thể của gói

Làm cách nào để cài đặt một phiên bản cụ thể của gói Python?

pip install ==

Code language: Bash (bash)

Hai bước để cài đặt phiên bản cụ thể của gói với PIP:

Hướng dẫn pip different version of python - pip phiên bản khác của python

1) Cài đặt VirtualEnv và tạo môi trường

Làm cách nào để cài đặt một phiên bản cụ thể của gói Python?

Hai bước để cài đặt phiên bản cụ thể của gói với PIP:

Trong phần NEX, bạn sẽ tìm hiểu hai bước quan trọng để cài đặt một phiên bản nhất định của gói Python bằng Trình quản lý gói PIP. Đầu tiên, bạn sẽ học cách cài đặt và tạo môi trường ảo. Thứ hai, bạn sẽ học cách sử dụng PIP để cài đặt phiên bản bạn cần của gói Python bằng cú pháp mà bạn đã học.

Hai bước để cài đặt phiên bản cụ thể của gói với PIP:

Trong phần này, bạn sẽ tìm hiểu cách cài đặt phiên bản cũ của gói Python bằng PIP. Đầu tiên, tôi khuyên bạn nên tạo ra một môi trường ảo. Do đó, trước tiên bạn sẽ tìm hiểu cách cài đặt gói môi trường ảo, tạo môi trường ảo và cài đặt phiên bản cụ thể của gói Python. & NBSP;

1) Cài đặt VirtualEnv và tạo môi trường

Đầu tiên, bạn nên cài đặt gói ảo. Tại đây, cách cài đặt gói Python với PIP:

 $HOME/
     python_versions/ : download Python-*.tgz packages here and "tar xvf" them.  You'll get directories like this:
       Python-3.4.8/
       Python-3.6.5/
       Python-3.x.y/
       ...
0

Hướng dẫn pip different version of python - pip phiên bản khác của python

Thứ hai, bạn nên tạo, và sau đó kích hoạt môi trường ảo của bạn: & nbsp;

 $HOME/
     python_versions/ : download Python-*.tgz packages here and "tar xvf" them.  You'll get directories like this:
       Python-3.4.8/
       Python-3.6.5/
       Python-3.x.y/
       ...
1

Hướng dẫn pip different version of python - pip phiên bản khác của python

Bây giờ bạn đã thiết lập môi trường ảo của mình, bạn có thể chuyển sang bước tiếp theo và cài đặt phiên bản cũ hơn của gói Python. Ở Bước hai, chúng tôi sử dụng PIP một lần nữa (như khi cài đặt VirtualEnv) nhưng bây giờ cũng sẽ sử dụng cú pháp chung mà chúng tôi đã học được trước đó trong bài đăng này.

2) Cài đặt phiên bản cụ thể bạn cần với PIP

Bây giờ, môi trường ảo của bạn đã sẵn sàng để sử dụng. Tại đây, cách sử dụng PIP để cài đặt một phiên bản cụ thể của gấu trúc gói:

 $HOME/
     python_versions/ : download Python-*.tgz packages here and "tar xvf" them.  You'll get directories like this:
       Python-3.4.8/
       Python-3.6.5/
       Python-3.x.y/
       ...
2

Tất nhiên, có thể thêm nhiều gói và phiên bản của chúng nếu bạn có nhiều gói mà bạn muốn cài đặt một phiên bản nhất định. Tuy nhiên, điều này có thể cồng kềnh và trong phần tiếp theo, chúng ta sẽ xem xét cách đối phó với việc cài đặt các phiên bản cũ hơn của nhiều gói. Đó là, khi lưu trữ chúng trong một tệp văn bản.

Xử lý nhiều gói và cài đặt các phiên bản cụ thể

Điều đó khá đơn giản, nhưng sử dụng các bước trên có thể không hữu ích nếu bạn, ví dụ, cần cài đặt rất nhiều gói Python. Khi chúng tôi đang cài đặt các gói bằng PIP, chúng tôi có thể tạo tệp .txt (ví dụ: aborments.txt). Dưới đây, một tệp văn bản ví dụ với một vài gói python và phiên bản của chúng:

Hướng dẫn pip different version of python - pip phiên bản khác của python

Như bạn có thể thấy, bạn nên giữ mỗi gói trên một dòng trong tệp văn bản. Hơn nữa, bạn nên theo dõi cú pháp mà bạn đã học được trước đó trong bài viết. Điều này cũng thể hiện rõ trong hình trên. Tại đây, cách cài đặt một phiên bản được chỉ định của nhiều gói bằng tệp văn bản:

 $HOME/
     python_versions/ : download Python-*.tgz packages here and "tar xvf" them.  You'll get directories like this:
       Python-3.4.8/
       Python-3.6.5/
       Python-3.x.y/
       ...
3

Bây giờ, việc cài đặt một phiên bản cũ hơn của một gói có thể dẫn đến một số vấn đề với các gói phụ thuộc. Bạn vẫn sẽ nhận được các phiên bản mới nhất của các phụ thuộc. Đó là, phiên bản bạn sử dụng cho phép, tất nhiên. Một mặt sau của điều này là sau này nó có thể phá vỡ ứng dụng hoặc luồng công việc của bạn. May mắn thay, có một số giải pháp để chống lại vấn đề này. Ví dụ: nếu bạn muốn phân tích dữ liệu của mình có thể tái tạo bằng cách sử dụng chất kết dính, máy tính xách tay Jupyter và Python có thể là một giải pháp. Tuy nhiên, nếu bạn đang phát triển các ứng dụng, bạn có thể cần phải có một chiến lược khác. Trong phần cuối cùng, chúng ta sẽ xem xét một gói Python khác có thể hữu ích: PIPENV (xem tài nguyên, ở phía dưới để biết hướng dẫn tuyệt vời trên PIPENV).

Sự kết luận

Trong hướng dẫn Python ngắn gọn này, bạn đã học cách sử dụng PIP để cài đặt một phiên bản nhất định của gói. Đầu tiên, bạn đã học cú pháp của PIP, để chỉ định một phiên bản. Sau đó, bạn đã học được cách 1) tạo môi trường ảo và 2) cài đặt phiên bản của gói bạn cần. Trong phần cuối cùng, chúng tôi đã xem xét cách xử lý nhiều gói của một số phiên bản nhất định. Đó là, cách đặt phiên bản của nhiều gói bạn muốn cài đặt. & NBSP;

Nếu bạn có bất kỳ đề xuất hoặc sửa chữa cho bài đăng hiện tại, vui lòng để lại nhận xét bên dưới. Tôi luôn đánh giá cao khi tôi học hỏi từ những người khác. & NBSP;

Tài nguyên

Dưới đây là một số gói và hướng dẫn hữu ích cũng như tài liệu có thể đáng để xem:

  • PIPX: Cài đặt, gỡ cài đặt và nâng cấp các gói Python trong các Envs ảo
  • Pipenv
  • Tài liệu ảo
  • Tài liệu PIP
  • Hướng dẫn Pipenv

Tại sao Pip chỉ vào phiên bản Python sai?

Như bạn đã nói, đó là bởi vì biến đường dẫn của bạn đã được sửa đổi để chứa đường dẫn đến Python 2.7.Bạn có một số tùy chọn ở đây: Sử dụng môi trường ảo (được đề xuất) Thêm đường dẫn vào cài đặt Python 3 của bạn trong biến đường dẫn của bạn trước đường dẫn đến Python 2.7.your PATH variable has been modified to contain the path to python 2.7. You have several options here: use a virtual environment (recommended) add the path to your Python 3 install in your PATH variable before the path to Python 2.7.

Bạn có thể có 2 phiên bản Python khác nhau 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.

Pip có phụ thuộc vào phiên bản Python không?

Nếu bạn đang chạy Python trong một môi trường ảo, thì bạn có thể chỉ có Python 2 hoặc Python 3 được cài đặt trong env đó.Với mỗi phiên bản Python, một PIP tương ứng được tự động cài đặt để bạn không cần phải lo lắng về các PIP không phù hợp.PIP "env địa phương" nên biết nếu nó là 2,7 hoặc 3.With each python version, a corresponding pip is automatically installed so you shouldn't need to worry about mismatching pips. The "local env" pip should know if it's for 2.7 or 3.