Cách kiểm tra phiên bản của gói python

Điều quan trọng cần lưu ý là thuật ngữ "gói" trong ngữ cảnh này đang được sử dụng để mô tả một gói phần mềm sẽ được cài đặt (i. e. như một từ đồng nghĩa với a). Nó không đề cập đến loại mà bạn nhập vào mã nguồn Python của mình (tôi. e. một thùng chứa các mô-đun). Cộng đồng Python thường đề cập đến việc sử dụng thuật ngữ “gói”. Việc sử dụng thuật ngữ “bản phân phối” thường không được ưa thích vì nó có thể dễ bị nhầm lẫn với bản phân phối Linux hoặc một bản phân phối phần mềm lớn hơn khác như chính Python

nội dung

Phần này mô tả các bước cần thực hiện trước khi cài đặt các gói Python khác

Trước khi tiếp tục, hãy đảm bảo rằng bạn có Python và phiên bản dự kiến ​​có sẵn từ dòng lệnh của bạn. Bạn có thể kiểm tra điều này bằng cách chạy

Unix/macOS

python3 --version

các cửa sổ

py --version

Bạn sẽ nhận được một số đầu ra như

py -m pip --version
0. Nếu bạn chưa có Python, vui lòng cài đặt 3 phiên bản mới nhất. phiên bản x từ python. org hoặc tham khảo phần Hướng dẫn về Python của Người quá giang

Ghi chú

Nếu bạn là người mới và bạn gặp lỗi như thế này

>>> python --version
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'python' is not defined

Đó là bởi vì lệnh này và các lệnh được đề xuất khác trong hướng dẫn này nhằm mục đích chạy trong trình bao (còn được gọi là thiết bị đầu cuối hoặc bảng điều khiển). Xem Python dành cho người mới bắt đầu để biết phần giới thiệu về cách sử dụng trình bao của hệ điều hành của bạn và tương tác với Python

Ghi chú

Nếu bạn đang sử dụng trình bao nâng cao như IPython hoặc sổ ghi chép Jupyter, bạn có thể chạy các lệnh hệ thống giống như các lệnh trong hướng dẫn này bằng cách đặt trước chúng bằng ký tự

py -m pip --version
1

In [1]: import sys
        !{sys.executable} --version
Python 3.6.3

Bạn nên viết

py -m pip --version
2 thay vì
py -m pip --version
3 đơn giản để đảm bảo rằng các lệnh được chạy trong bản cài đặt Python phù hợp với sổ ghi chép hiện đang chạy (có thể không giống với bản cài đặt Python mà lệnh
py -m pip --version
3 đề cập đến)

Ghi chú

Do cách mà hầu hết các bản phân phối Linux đang xử lý quá trình di chuyển Python 3, người dùng Linux sử dụng hệ thống Python mà không tạo môi trường ảo trước nên thay thế lệnh

py -m pip --version
3 trong hướng dẫn này bằng lệnh
py -m pip --version
6 và lệnh
py -m pip --version
7 bằng
py -m pip --version
8. Không chạy bất kỳ lệnh nào trong hướng dẫn này với
py -m pip --version
9. nếu bạn gặp lỗi về quyền, hãy quay lại phần tạo môi trường ảo, thiết lập một môi trường rồi tiếp tục với hướng dẫn như đã viết

Ngoài ra, bạn sẽ cần đảm bảo rằng bạn có sẵn. Bạn có thể kiểm tra điều này bằng cách chạy

Unix/macOS

python3 -m pip --version

các cửa sổ

py -m pip --version

Nếu bạn đã cài đặt Python từ nguồn, với trình cài đặt từ python. org hoặc qua Homebrew, bạn đã có pip. Nếu bạn đang sử dụng Linux và được cài đặt bằng trình quản lý gói hệ điều hành, thì bạn có thể phải cài đặt pip riêng, xem Cài đặt pip/setuptools/wheel với Trình quản lý gói Linux.

Nếu

python3 -m ensurepip --default-pip
0 chưa được cài đặt, thì trước tiên hãy thử khởi động nó từ thư viện chuẩn

Unix/macOS

python3 -m ensurepip --default-pip

các cửa sổ

py -m ensurepip --default-pip

Nếu điều đó vẫn không cho phép bạn chạy

py -m pip --version
7

  • Tải xuống an toàn get-pip. py

  • Chạy

    python3 -m ensurepip --default-pip
    
    2. Điều này sẽ cài đặt hoặc nâng cấp pip. Ngoài ra, nó sẽ cài đặt và nếu chúng chưa được cài đặt

    Cảnh báo

    Hãy thận trọng nếu bạn đang sử dụng bản cài đặt Python do hệ điều hành của bạn hoặc trình quản lý gói khác quản lý. get-pip. py không phối hợp với các công cụ đó và có thể khiến hệ thống của bạn ở trạng thái không nhất quán. Bạn có thể sử dụng

    python3 -m ensurepip --default-pip
    
    3 để cài đặt trong
    python3 -m ensurepip --default-pip
    
    4 được thiết kế cho phần mềm cài đặt cục bộ

Mặc dù chỉ riêng

python3 -m ensurepip --default-pip
0 là đủ để cài đặt từ kho lưu trữ nhị phân dựng sẵn, nhưng các bản sao cập nhật của dự án
python3 -m ensurepip --default-pip
6 và
python3 -m ensurepip --default-pip
7 rất hữu ích để đảm bảo bạn cũng có thể cài đặt từ kho lưu trữ nguồn

Unix/macOS

python3 -m pip install --upgrade pip setuptools wheel

các cửa sổ

py -m pip install --upgrade pip setuptools wheel

Xem để biết chi tiết, nhưng đây là lệnh venv cơ bản để sử dụng trên một hệ thống Linux điển hình.

Unix/macOS

py --version
0

các cửa sổ

py --version
1

Thao tác này sẽ tạo một môi trường ảo mới trong thư mục con

python3 -m ensurepip --default-pip
8 và định cấu hình shell hiện tại để sử dụng nó làm môi trường
py -m pip --version
3 mặc định

"Môi trường ảo" của Python cho phép Python được cài đặt ở một vị trí biệt lập cho một ứng dụng cụ thể, thay vì được cài đặt trên toàn cầu. Nếu bạn đang muốn cài đặt các công cụ dòng lệnh chung một cách an toàn, hãy xem Cài đặt các công cụ dòng lệnh độc lập .

Hãy tưởng tượng bạn có một ứng dụng cần phiên bản 1 của LibFoo, nhưng một ứng dụng khác yêu cầu phiên bản 2. Làm thế nào bạn có thể sử dụng cả hai ứng dụng này? . 6/site-gói (hoặc bất kể vị trí tiêu chuẩn của nền tảng của bạn là gì), rất dễ dẫn đến tình huống bạn vô tình nâng cấp một ứng dụng không nên nâng cấp

Hay tổng quát hơn, nếu bạn muốn cài đặt một ứng dụng và để yên thì sao?

Ngoài ra, nếu bạn không thể cài đặt vào thư mục gói trang web toàn cầu thì sao?

Trong tất cả các trường hợp này, môi trường ảo có thể giúp bạn. Họ có thư mục cài đặt riêng và họ không chia sẻ thư viện với các môi trường ảo khác

Hiện tại, có 2 công cụ phổ biến để tạo môi trường ảo Python

  • venv có sẵn theo mặc định trong Python 3. 3 trở lên, đồng thời cài đặt và vào các môi trường ảo đã tạo trong Python 3. 4 trở lên.

  • cần được cài đặt riêng, nhưng hỗ trợ Python 2. 7+ và Python3. 3+ và , và luôn được cài đặt vào môi trường ảo được tạo theo mặc định (bất kể phiên bản Python nào)

Cách sử dụng cơ bản là như vậy

Sử dụng venv .

Unix/macOS

py --version
2

các cửa sổ

py --version
3

sử dụng

Unix/macOS

py --version
4

các cửa sổ

py --version
5

Để biết thêm thông tin, hãy xem tài liệu venv hoặc virtualenv docs.

Việc sử dụng nguồn trong hệ vỏ Unix đảm bảo rằng các biến của môi trường ảo được đặt trong hệ vỏ hiện tại chứ không phải trong quy trình con (sau đó biến mất, không có tác dụng hữu ích)

Trong cả hai trường hợp trên, người dùng Windows không nên _không_ sử dụng lệnh nguồn mà nên chạy tập lệnh kích hoạt trực tiếp từ trình bao lệnh như vậy

py --version
6

Việc quản lý trực tiếp nhiều môi trường ảo có thể trở nên tẻ nhạt, vì vậy chúng tôi giới thiệu một công cụ cấp cao hơn, tự động quản lý một môi trường ảo riêng biệt cho từng dự án và ứng dụng mà bạn làm việc trên đó

là trình cài đặt được đề xuất. Dưới đây, chúng tôi sẽ đề cập đến các tình huống sử dụng phổ biến nhất. Để biết thêm chi tiết, hãy xem tài liệu pip , bao gồm Hướng dẫn tham khảo.

Cách sử dụng phổ biến nhất là cài đặt từ việc sử dụng một. Nói chung, một bộ xác định yêu cầu bao gồm một tên dự án theo sau là một tùy chọn. PEP 440 chứa một trong số các công cụ xác định hiện được hỗ trợ. Dưới đây là một số ví dụ

Để cài đặt phiên bản mới nhất của “SomeProject”

Unix/macOS

py --version
7

các cửa sổ

py --version
8

Để cài đặt một phiên bản cụ thể

Unix/macOS

py --version
9

các cửa sổ

>>> python --version
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'python' is not defined
0

Để cài đặt lớn hơn hoặc bằng một phiên bản và nhỏ hơn một phiên bản khác

Unix/macOS

>>> python --version
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'python' is not defined
1

các cửa sổ

>>> python --version
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'python' is not defined
2

Để cài đặt một phiên bản với một phiên bản nhất định.

Unix/macOS

>>> python --version
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'python' is not defined
3

các cửa sổ

>>> python --version
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'python' is not defined
4

Trong trường hợp này, điều này có nghĩa là cài đặt bất kỳ phiên bản nào “==1. 4. *” cũng là “>=1. 4. 2”

có thể cài đặt từ một trong hai hoặc , nhưng nếu cả hai đều có trên PyPI, thì pip sẽ thích cài đặt tương thích hơn. Bạn có thể ghi đè hành vi mặc định của pip bằng e. g. sử dụng tùy chọn của nó

là định dạng dựng sẵn giúp cài đặt nhanh hơn so với định dạng , đặc biệt khi dự án chứa các phần mở rộng đã biên dịch

Nếu không tìm thấy bánh xe để cài đặt, nó sẽ tạo một bánh xe cục bộ và lưu vào bộ nhớ cache để cài đặt trong tương lai, thay vì xây dựng lại bản phân phối nguồn trong tương lai

Nâng cấp một

py -m ensurepip --default-pip
0 đã được cài đặt lên phiên bản mới nhất từ ​​PyPI

Unix/macOS

>>> python --version
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'python' is not defined
5

các cửa sổ

>>> python --version
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'python' is not defined
6

Để cài đặt cách ly với người dùng hiện tại, hãy sử dụng cờ

py -m ensurepip --default-pip
1

Unix/macOS

>>> python --version
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'python' is not defined
7

các cửa sổ

>>> python --version
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'python' is not defined
8

Để biết thêm thông tin, hãy xem phần từ tài liệu pip

Lưu ý rằng cờ

py -m ensurepip --default-pip
1 không có tác dụng khi ở trong môi trường ảo - tất cả các lệnh cài đặt sẽ ảnh hưởng đến môi trường ảo

Nếu

py -m ensurepip --default-pip
0 xác định bất kỳ tập lệnh dòng lệnh hoặc điểm nhập bảng điều khiển nào, thì
py -m ensurepip --default-pip
1 sẽ khiến chúng được cài đặt bên trong thư mục nhị phân của ', thư mục này có thể có hoặc chưa có trong trình bao của bạn
py -m ensurepip --default-pip
5. (Bắt đầu từ phiên bản 10, pip hiển thị cảnh báo khi cài đặt bất kỳ tập lệnh nào vào thư mục bên ngoài
py -m ensurepip --default-pip
5. ) Nếu tập lệnh không có sẵn trong trình bao của bạn sau khi cài đặt, bạn sẽ cần thêm thư mục vào
py -m ensurepip --default-pip
5 của mình

  • Trên Linux và macOS, bạn có thể tìm thấy thư mục nhị phân cơ sở người dùng bằng cách chạy

    py -m ensurepip --default-pip
    
    8 và thêm
    py -m ensurepip --default-pip
    
    9 vào cuối. Ví dụ: điều này thường sẽ in
    python3 -m pip install --upgrade pip setuptools wheel
    
    0 (với
    python3 -m pip install --upgrade pip setuptools wheel
    
    1 được mở rộng thành đường dẫn tuyệt đối đến thư mục chính của bạn), vì vậy bạn sẽ cần thêm
    python3 -m pip install --upgrade pip setuptools wheel
    
    2 vào
    py -m ensurepip --default-pip
    
    5 của mình. Bạn có thể đặt vĩnh viễn
    py -m ensurepip --default-pip
    
    5 của mình bằng cách sửa đổi ~/. hồ sơ

  • Trên Windows, bạn có thể tìm thấy thư mục nhị phân cơ sở người dùng bằng cách chạy

    python3 -m pip install --upgrade pip setuptools wheel
    
    5 và thay thế
    python3 -m pip install --upgrade pip setuptools wheel
    
    6 bằng
    python3 -m pip install --upgrade pip setuptools wheel
    
    7. Ví dụ: điều này có thể trả về
    python3 -m pip install --upgrade pip setuptools wheel
    
    8, vì vậy bạn cần đặt
    py -m ensurepip --default-pip
    
    5 của mình để bao gồm
    py -m pip install --upgrade pip setuptools wheel
    
    0. Bạn có thể đặt vĩnh viễn người dùng của mình
    py -m ensurepip --default-pip
    
    5 trong Bảng điều khiển. Bạn có thể cần phải đăng xuất để các thay đổi của
    py -m ensurepip --default-pip
    
    5 có hiệu lực

Cài đặt một danh sách các yêu cầu được chỉ định trong một

Unix/macOS

>>> python --version
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'python' is not defined
9

các cửa sổ

In [1]: import sys
        !{sys.executable} --version
Python 3.6.3
0

Cài đặt dự án từ VCS ở chế độ “có thể chỉnh sửa”. Để biết chi tiết đầy đủ về cú pháp, hãy xem phần của pip trên

Unix/macOS

In [1]: import sys
        !{sys.executable} --version
Python 3.6.3
1

các cửa sổ

In [1]: import sys
        !{sys.executable} --version
Python 3.6.3
2

Cài đặt từ một chỉ mục thay thế

Unix/macOS

In [1]: import sys
        !{sys.executable} --version
Python 3.6.3
3

các cửa sổ

In [1]: import sys
        !{sys.executable} --version
Python 3.6.3
4

Tìm kiếm một chỉ mục bổ sung trong khi cài đặt, ngoài

Unix/macOS

In [1]: import sys
        !{sys.executable} --version
Python 3.6.3
5

các cửa sổ

In [1]: import sys
        !{sys.executable} --version
Python 3.6.3
6

Cài đặt từ src cục bộ trong Chế độ phát triển , tôi. e. theo cách mà dự án dường như đã được cài đặt, nhưng vẫn có thể chỉnh sửa được từ cây src.

Unix/macOS

In [1]: import sys
        !{sys.executable} --version
Python 3.6.3
7

các cửa sổ

In [1]: import sys
        !{sys.executable} --version
Python 3.6.3
8

Bạn cũng có thể cài đặt bình thường từ src

Unix/macOS

In [1]: import sys
        !{sys.executable} --version
Python 3.6.3
9

các cửa sổ

python3 -m pip --version
0

Cài đặt một tệp lưu trữ nguồn cụ thể

Unix/macOS

python3 -m pip --version
1

các cửa sổ

python3 -m pip --version
2

Cài đặt từ một thư mục cục bộ chứa các kho lưu trữ (và không kiểm tra )

Unix/macOS

python3 -m pip --version
3

các cửa sổ

python3 -m pip --version
4

Để cài đặt từ các nguồn dữ liệu khác (ví dụ: bộ lưu trữ Amazon S3), bạn có thể tạo ứng dụng trợ giúp trình bày dữ liệu ở định dạng chỉ mục tuân thủ PEP 503 và sử dụng cờ

py -m pip install --upgrade pip setuptools wheel
3 để chỉ đạo pip sử dụng chỉ mục đó

python3 -m pip --version
5

Tìm các phiên bản tiền phát hành và phát triển, ngoài các phiên bản ổn định. Theo mặc định, pip chỉ tìm thấy các phiên bản ổn định

Unix/macOS

python3 -m pip --version
6

các cửa sổ

python3 -m pip --version
7

Các tính năng bổ sung là "biến thể" tùy chọn của một gói, có thể bao gồm các phần phụ thuộc bổ sung và do đó kích hoạt chức năng bổ sung từ gói. Nếu bạn muốn cài đặt một gói bổ sung cho một gói mà bạn biết đã xuất bản một gói, bạn có thể đưa nó vào lệnh cài đặt pip

Unix/macOS

python3 -m pip --version
8

các cửa sổ

python3 -m pip --version
9


“An toàn” trong ngữ cảnh này có nghĩa là sử dụng trình duyệt hiện đại hoặc công cụ như curl để xác minh chứng chỉ SSL khi tải xuống từ URL https

Tùy thuộc vào nền tảng của bạn, điều này có thể yêu cầu quyền truy cập root hoặc Quản trị viên. hiện đang xem xét thay đổi điều này bằng cách khiến người dùng cài đặt hành vi mặc định

Bắt đầu với Python 3. 4,

py -m pip install --upgrade pip setuptools wheel
4 (một giải pháp thay thế stdlib cho ) sẽ tạo môi trường virtualenv với ____16_______0 được cài đặt sẵn, do đó làm cho nó trở thành một giải pháp thay thế tương đương cho

Làm cách nào để kiểm tra phiên bản gói trong Python?

Kiểm tra phiên bản gói/thư viện Python .
Nhận phiên bản gói trong tập lệnh Python. thuộc tính __version__
Kiểm tra phiên bản gói bằng lệnh pip. Liệt kê các gói đã cài đặt. danh sách pip. Liệt kê các gói đã cài đặt. đóng băng pip. Kiểm tra chi tiết các gói đã cài đặt. chương trình pip
Kiểm tra phiên bản gói bằng lệnh conda. danh sách conda

Làm cách nào để biết tôi có phiên bản nào của gói pip?

Để kiểm tra xem phiên bản nào của gói nhất định đã được cài đặt, hãy sử dụng lệnh pip show . Ví dụ: để kiểm tra phiên bản cài đặt NumPy hoặc môi trường ảo của bạn, hãy chạy pip show numpy trong dòng lệnh hoặc Powershell (Windows) hoặc thiết bị đầu cuối (macOS và Linux/Ubuntu).

__ phiên bản __ trong Python là gì?

# __init__. py # Phiên bản của gói realpython-reader __version__ = "1. 0. 0" Biến đặc biệt __version__ là quy ước trong Python để thêm số phiên bản vào gói của bạn . Nó được giới thiệu trong PEP 396.