Hướng dẫn change pip python version - thay đổi phiên bản pip 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ư --no-site-packages 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/
           ...
    
    0
  • 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/
           ...
    
    1,
     $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

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"

Nhiều nhà phát triển Python dựa vào một công cụ có tên gọi là PIP để cài đặt và quản lý các package một cách dễ dàng và nhanh chóng hơn. Bài viết dưới đây sẽ chỉ bạn cách cài đặt PIP cho Python

  • PIP là gì?
  • PIP có được cài đặt bằng Python không?
  • Python có được cài đặt đúng cách không?
    • Cài đặt và quản lý Python PIP cho Windows
    • Cài đặt và quản lý Python PIP cho Mac
    • Cài đặt và quản lý Python PIP cho Linux
  • Cài đặt và cấu hình môi trường ảo (Virtual Environment)
  • Quản lý các gói Python với PIP
  • Kết luận

Hướng dẫn change pip python version - thay đổi phiên bản pip python

Cũng giống như bất kỳ ngôn ngữ lập trình nào, Python hỗ trợ các thư viện và frameworks (các đoạn code đã được viết sẵn, cấu thành nên một bộ khung và các thư viện lập trình được đóng gói) của bên thứ ba giúp bạn tránh phải cài đặt lại khi bắt đầu dự án mới. Bạn có thể tìm thấy các thư viện Python này trên một kho lưu trữ trung tâm có tên là Python Package Index (PyPI). Quá trình tải xuống, cài đặt và quản lý các gói này theo cách thủ công có thể tốn thời gian, đây là lý do tại sao nhiều nhà phát triển Python dựa vào một công cụ gọi là PIP để làm cho toàn bộ quy trình trở nên đơn giản hơn. Quá trình tải xuống, cài đặt và quản lý các gói này theo cách thủ công có thể tốn thời gian, đây là lý do tại sao nhiều nhà phát triển Python dựa vào một công cụ gọi là PIP để làm cho toàn bộ quy trình trở nên đơn giản hơn. 

PIP là gì?

PIP là từ viết tắt của “PIP Installs Packages” hoặc “Preferred Installer Program”. Đây là trình quản lý gói cho Python cho phép bạn quản lý các gói PyPI không có trong bản phân phối Python chuẩn. PyPI lưu trữ một bộ sưu tập phong phú các framework, công cụ và thư viện cho các ứng dụng trong lĩnh vực tài chính, y tế, giáo dục, dịch vụ khách hàng,…

PIP có được cài đặt bằng Python không?

Python có được cài đặt đúng cách không?

Cài đặt và quản lý Python PIP cho Windows báo cáo về chu kỳ phát triển, việc hỗ trợ cài đặt phiên bản Python 3.4 đã kết thúc vào tháng 3 năm 2019, có nghĩa là vòng đời sản phẩm đã hết và bạn sẽ không nhận được các bản sửa lỗi bảo mật nữa. Chính vì thế bạn sẽ phải đối mặt với những thay đổi quan trọng ở cả Python và các thư viện cùng một lúc, khiến cho việc nâng cấp trở nên khó khăn hơn.

Python có được cài đặt đúng cách không?

Cài đặt và quản lý Python PIP cho Windows

Cài đặt và quản lý Python PIP cho Windows

Cài đặt và quản lý Python PIP cho Mac

Cài đặt và quản lý Python PIP cho LinuxWin + X và mở Command Prompt.

Cài đặt và cấu hình môi trường ảo (Virtual Environment)

 $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

Quản lý các 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/
       ...
4

Kết luậ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/
       ...
5

Cũng giống như bất kỳ ngôn ngữ lập trình nào, Python hỗ trợ các thư viện và frameworks (các đoạn code đã được viết sẵn, cấu thành nên một bộ khung và các thư viện lập trình được đóng gói) của bên thứ ba giúp bạn tránh phải cài đặt lại khi bắt đầu dự án mới. Bạn có thể tìm thấy các thư viện Python này trên một kho lưu trữ trung tâm có tên là Python Package Index (PyPI). Quá trình tải xuống, cài đặt và quản lý các gói này theo cách thủ công có thể tốn thời gian, đây là lý do tại sao nhiều nhà phát triển Python dựa vào một công cụ gọi là PIP để làm cho toàn bộ quy trình trở nên đơn giản hơn. 

Cài đặt và quản lý Python PIP cho Mac

Cài đặt và quản lý Python PIP cho Linux

Cài đặt và cấu hình môi trường ảo (Virtual Environment)

Quản lý các gói Python với PIP

Tài liệu Homebrew Python (Homebrew Python documentation) nhận biết vấn đề này và đề xuất pyenv (công cụ chuyển đổi qua lại các phiên bản Python khác nhau tùy mục đích sử dụng) để quản lý môi trường Python. Để pyenv hoạt động, trước tiên, bạn cần cài đặt các bản dựng phụ thuộc (build dependencies) thông qua Homebrew. Mở Terminal, sau đó nhập dòng lệnh:Homebrew Python documentation) nhận biết vấn đề này và đề xuất pyenv (công cụ chuyển đổi qua lại các phiên bản Python khác nhau tùy mục đích sử dụng) để quản lý môi trường Python. Để pyenv hoạt động, trước tiên, bạn cần cài đặt các bản dựng phụ thuộc (build dependencies) thông qua Homebrew. Mở Terminal, sau đó nhập dòng lệ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/
       ...
6

Sau đó cài đặt pyenv:

 $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

Cuối cùng cần cập nhật cấu hình hồ sơ shell, tức là ~ / .zshrc nếu shell mặc định là ZSH. Thêm các dòng lệnh 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/
       ...
8

Thoát khỏi Terminal và khởi động lại.

Hướng dẫn change pip python version - thay đổi phiên bản pip python

Nếu bạn muốn xem tất cả các phiên bản Python mà pyenv có thể cài đặt, hãy nhập:

 $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/
       ...
9

Để cài đặt một phiên bản Python cụ thể, hãy nhập dòng lệnh:

 mkdir root
 ./configure --prefix=$PWD/root 
 make -j 2
 make install
 virtualenv --no-site-packages -p root/bin/python3.x env
0

Quá trình cài đặt sẽ mất một khoảng thời gian. Giả sử rằng một dự án yêu cầu phiên bản 3.8.12 chưa được cài đặt trên hệ thống. Hãy cài đặt phiên bản này thông qua pyenv: pyenv install 3.8.12

Bạn cũng có thể kiểm tra phiên bản Python mà bạn đã cài đặt: pyenv versions

Phiên bản “hệ thống” hay Python 2.7 là phiên bản đi kèm với Mac nhưng bây giờ không còn được sử dụng. Bạn hãy cho pyenv biết phiên bản mặc định mà bạn muốn sử dụng.

Hướng dẫn change pip python version - thay đổi phiên bản pip python

Bạn có thể đặt các phiên bản Python ở ba cấp: Toàn bộ (Global), Cục bộ (Local) và Shell. Đọc tài liệu pyenv để biết thêm chi tiết tại đây: https://github.com/pyenv/pyenv#choosing-the-python-version. Nhập:

 mkdir root
 ./configure --prefix=$PWD/root 
 make -j 2
 make install
 virtualenv --no-site-packages -p root/bin/python3.x env
1

Mức toàn bộ (Global level) cài đặt phiên bản Python cho tất cả các shells (chương trình cung cấp giao diện giao tiếp giữa người dùng và hệ điều hành OS) và directories (danh mục). Khi bạn kiểm tra về phiên bản Python hiện có sẽ xuất hiện gì?

 mkdir root
 ./configure --prefix=$PWD/root 
 make -j 2
 make install
 virtualenv --no-site-packages -p root/bin/python3.x env
2

Để kiểm tra phiên bản PIP, nhập:

 mkdir root
 ./configure --prefix=$PWD/root 
 make -j 2
 make install
 virtualenv --no-site-packages -p root/bin/python3.x env
3

Hay nếu bạn muốn kiểm tra cập nhật mới của PIP, gõ dòng lệnh:

 mkdir root
 ./configure --prefix=$PWD/root 
 make -j 2
 make install
 virtualenv --no-site-packages -p root/bin/python3.x env
4

Mức cục bộ (Local level) chỉ thay đổi phiên bản Python cho các thư mục lớn (folders) và thư mục con (subfolder) hiện tại. Vì vậy, nếu bạn thực hiện dự án yêu cầu phiên bản Python 3.8.12, hãy nhập:

 mkdir root
 ./configure --prefix=$PWD/root 
 make -j 2
 make install
 virtualenv --no-site-packages -p root/bin/python3.x env
5

Trên đây là những gì bạn muốn thực hiện cho một dự án. Bạn có thể sử dụng phiên bản Python khác trong thư mục này mà không cần thay đổi phiên bản chung.

Cài đặt và quản lý Python PIP cho Linux

Nhiều bản phân phối Linux được đóng gói với Python, nhưng có thể nó không phải là phiên bản mới nhất. Để biết bạn có phiên bản Python nào, hãy mở Terminal và nhập:

 mkdir root
 ./configure --prefix=$PWD/root 
 make -j 2
 make install
 virtualenv --no-site-packages -p root/bin/python3.x env
6

Nếu bạn đã cài đặt Python trên máy của mình, thì một trong các lệnh này sẽ phản hồi kèm theo số phiên bản. Nếu bạn muốn cài đặt bản phân phối Python trên Linux, trình quản lý gói tích hợp có lẽ là phương pháp tốt nhất.

Advanced Packaging Tool (APT – phần mềm miễn phí dùng để quản lý việc cài đặt phần mềm trên Linux)(APT – phần mềm miễn phí dùng để quản lý việc cài đặt phần mềm trên Linux)

 mkdir root
 ./configure --prefix=$PWD/root 
 make -j 2
 make install
 virtualenv --no-site-packages -p root/bin/python3.x env
7

Pacman Package Manager (Trình quản lý gói pacman là một trong những tính năng phân biệt chính của Kiến trúc Linux)(Trình quản lý gói pacman là một trong những tính năng phân biệt chính của Kiến trúc Linux)

 mkdir root
 ./configure --prefix=$PWD/root 
 make -j 2
 make install
 virtualenv --no-site-packages -p root/bin/python3.x env
8

Dandified Yum (trình quản lý các gói (package) phần mềm của các bản phân phối Linux dựa trên RPM) (trình quản lý các gói (package) phần mềm của các bản phân phối Linux dựa trên RPM)

 mkdir root
 ./configure --prefix=$PWD/root 
 make -j 2
 make install
 virtualenv --no-site-packages -p root/bin/python3.x env
9

Zypper Package Manager (Zypper là trình quản lý gói dòng lệnh cho openSUSE, sử dụng libzypp). (Zypper là trình quản lý gói dòng lệnh cho openSUSE, sử dụng libzypp).

 env_python3x.bash:

 #!/bin/bash
 echo "type deactivate to exit"
 source $HOME/python_versions/Python-3.x.y/env/bin/activate
0

Yum Package Manager (Yum là một công cụ hiệu quả dùng để quản lý các software package trên các Linux distribution sử dụng RPM) (Yum là một công cụ hiệu quả dùng để quản lý các software package trên các Linux distribution sử dụng RPM)

 env_python3x.bash:

 #!/bin/bash
 echo "type deactivate to exit"
 source $HOME/python_versions/Python-3.x.y/env/bin/activate
1

Cài đặt và cấu hình môi trường ảo (Virtual Environment)

Sau khi bạn thiết lập cơ bản Python, bạn không nên vội dùng PIP để cài đặt các gói trực tiếp. Đó là bởi vì mọi dự án trên hệ thống của bạn sẽ sử dụng “gói trang” (site-packages hay thư mục đích của các gói Python được xây dựng thủ công) để lưu trữ và truy xuất các gói. Giả sử bạn đang làm việc trên hai dự án: A và B, cả hai dự án này đều phụ thuộc vào cùng một thư viện C.

Sự cố sẽ xuất hiện khi bạn yêu cầu một phiên bản khác của thư viện C: Dự án A yêu cầu phiên bản 1, nhưng Dự án B cần phiên bản 2. Vì Python không thể phân biệt giữa các phiên bản trong “gói trang web” nên bạn cần tạo riêng biệt môi trường cho các dự án Python. Sau đây là cách thiết lập và sử dụng môi trường ảo.

Quản lý các gói Python với PIP

Cài đặt đối với:

Mac: python3 -m pip cài đặt “SomeProject”

Windows: py -m pip cài đặt “SomeProject”

Cài đặt phiên bản cụ thể:

Mac: python3 -m pip cài đặt “SomeProject = 1.0”

Windows: py -m pip cài đặt “SomeProject = 1.0”

Nâng cấp:

Mac: python3 -m pip install – nâng cấp “SomeProject”

Windows: cài đặt py -m pip – nâng cấp “SomeProject”

Hủy cài đặt:

Mac: python3 -m pip gỡ cài đặt “SomeProject”

Windows: py -m pip gỡ cài đặt “SomeProject”

Danh sách các gói đã cài đặt:

Mac: danh sách pip python3 -m

Windows: danh sách pip py -m

Danh sách các gói đã hết hạn:

Mac: danh sách pip python3 -m – lỗi thời

Windows: danh sách pip py -m – lỗi thời

Kết luận

Python thực sự là một ngôn ngữ lập trình hữu ích với các ứng dụng từ phát triển web đến phân tích dữ liệu. Bạn cần thiết lập Python một cách chính xác để quá trình học diễn ra suôn sẻ và không xảy ra lỗi. Cách tốt nhất để học Python là xây dựng các dự án. Hy vọng thông qua bài viết trên, bạn đọc có thể áp dụng và có trải nghiệm tuyệt vời!

Xem thêm các bài viết về lập trình Python tại đây.

Khánh Huyền (theo Makeuseof)

https://www.makeuseof.com/tag/install-pip-for-python/