Giả sử rằng bạn đã cài đặt PIP hoặc Easy_Install trên phân phối Python của mình, tôi muốn biết làm thế nào tôi có thể cài đặt một gói cần thiết trong thư mục người dùng từ bên trong tập lệnh.
Từ những gì tôi biết PIP cũng là một mô -đun Python, vì vậy giải pháp sẽ trông như thế nào:
try:
import zumba
except ImportError:
import pip
# ... do "pip install --user zumba" or throw exception = 10.0]:try:
import zumba
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'zumba']]
import zumba
Nhờ @joop, tôi đã có thể đến với câu trả lời thích hợp.
try:
import zumba
except ImportError:
import pip
pip.main[['install', '--user', 'zumba']]
import zumba
Một nhận xét quan trọng là điều này sẽ hoạt động mà không yêu cầu truy cập gốc vì nó sẽ cài đặt mô -đun trong thư mục người dùng.
Không chắc chắn nếu nó sẽ hoạt động cho các mô-đun nhị phân hoặc các mô-đun sẽ yêu cầu biên dịch, nhưng nó rõ ràng hoạt động tốt cho các mô-đun python tinh khiết.
Bây giờ bạn có thể viết các tập lệnh khép kín và không lo lắng về sự phụ thuộc.
Koterpillar
7.7122 Huy hiệu vàng25 Huy hiệu bạc40 Huy hiệu đồng2 gold badges25 silver badges40 bronze badges
Đã trả lời ngày 24 tháng 6 năm 2013 lúc 9:51Jun 24, 2013 at
9:51
Sorinsorinsorin
154K171 Huy hiệu vàng518 Huy hiệu bạc771 Huy hiệu đồng171 gold badges518 silver badges771 bronze badges
2
Kể từ phiên bản PIP> = 10.0.0, các giải pháp trên sẽ không hoạt động do tái cấu trúc gói nội bộ. Cách mới để sử dụng pip bên trong một tập lệnh bây giờ như sau:
try: import abc
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'abc']]
import abc
Đã trả lời ngày 26 tháng 7 năm 2018 lúc 6:12Jul 26, 2018 at 6:12
PhoenixphoenixPhoenix
3354 Huy hiệu bạc15 Huy hiệu Đồng4 silver badges15 bronze badges
Tôi muốn lưu ý rằng câu trả lời được chấp nhận hiện tại có thể dẫn đến va chạm tên ứng dụng có thể. Nhập từ không gian tên ứng dụng không cung cấp cho bạn hình ảnh đầy đủ về những gì được cài đặt trên hệ thống.
Một cách tốt hơn sẽ là:
import pip
packages = [package.project_name for package in pip.get_installed_distributions[]]
if 'package' not in packages:
pip.main[['install', 'package']]
Đã trả lời ngày 26 tháng 8 năm 2016 lúc 18:42Aug 26, 2016 at 18:42
CaseycaseyCasey
3734 Huy hiệu bạc13 Huy hiệu Đồng4 silver badges13
bronze badges
1
Một hàm đơn giản dựa trên các hàm trên lấy tên mô -đun làm chuỗi và trả về mô -đun đã nhập.
def pipInstallOnError[module_name]:
'''Import a module.
Attempt to pip install the module on ImportError.
:Parameters:
module_name [str] = The name of the module.
:Return:
[obj] The imported module.
'''
try:
return __import__[module_name]
except ImportError as error:
from pip._internal import main as pip
pip[['install', '--user', module_name]]
return __import__[module_name]
Đã trả lời ngày 22 tháng 10 lúc 22:15Oct 22 at 22:15
m3trikm3trikm3trik
Huy hiệu bạc 19311 silver badge11 bronze badges
Phần này bao gồm những điều cơ bản về cách cài đặt các gói Python.packages.
Điều quan trọng cần lưu ý là thuật ngữ Gói gói trực tuyến trong bối cảnh này đang được sử dụng để mô tả một gói phần mềm sẽ được cài đặt [nghĩa là một từ đồng nghĩa với phân phối]. Nó không đề cập đến loại gói mà bạn nhập vào mã nguồn Python của bạn [nghĩa là một thùng chứa các mô -đun]. Thông thường trong cộng đồng Python để đề cập đến phân phối bằng cách sử dụng thuật ngữ gói gói. Sử dụng thuật ngữ phân phối trực tuyến, thường không được ưu tiên, bởi vì nó có thể dễ dàng bị nhầm lẫn với 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.distribution]. It does not to refer to the kind of package that you import in your Python source code [i.e. a container of modules]. It is common in the Python community to refer to a
distribution using the term “package”. Using the term “distribution” is often not preferred, because it can easily be confused with a Linux distribution, or another larger software distribution like Python itself.
Yêu cầu cài đặt gói
Phần này mô tả các bước cần tuân theo trước khi cài đặt các gói Python khác.
Đảm bảo bạn có thể chạy Python từ dòng lệnh
Trước khi bạn đi xa hơn, hãy chắc chắn 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:
Bạn sẽ nhận được một số đầu ra như
import pip
packages = [package.project_name for package in pip.get_installed_distributions[]]
if 'package' not in packages:
pip.main[['install', 'package']]
9. Nếu bạn không có Python, vui lòng cài đặt phiên bản 3.x mới nhất từ Python.org hoặc tham khảo phần Cài đặt Python của Hướng dẫn Hitchhiker về Python.Installing Python section of the Hitchhiker’s Guide to Python.Ghi chú
Nếu bạn là một người mới đến 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
Nó có nghĩa là vì lệnh này và các lệnh được đề xuất khác trong hướng dẫn này được dự định sẽ được chạy trong vỏ [còn được gọi là thiết bị đầu cuối hoặc bảng điều khiển]. Xem Python cho người mới bắt đầu bắt đầu hướng dẫn để được giới thiệu về việc sử dụng hệ điều hành của bạn và tương tác với Python.
Ghi chú
Nếu bạn là một người mới đến và bạn gặp lỗi như thế này:
In [1]: import sys
!{sys.executable} --version
Python 3.6.3
Nó có nghĩa là vì lệnh này và các lệnh được đề xuất khác trong hướng dẫn này được dự định sẽ được chạy trong vỏ [còn được gọi là thiết bị đầu cuối hoặc bảng điều khiển]. Xem Python cho người mới bắt đầu bắt đầu hướng dẫn để được giới thiệu về việc sử dụng hệ điều hành của bạn và tương tác với Python.
Ghi chú
Nếu bạn là một người mới đến và bạn gặp lỗi như thế này:
Nó có nghĩa là vì lệnh này và các lệnh được đề xuất khác trong hướng dẫn này được dự định sẽ được chạy trong vỏ [còn được gọi là thiết bị đầu cuối hoặc bảng điều khiển]. Xem Python cho người mới bắt đầu bắt đầu hướng dẫn để được giới thiệu về việc sử dụng hệ điều hành của bạn và tương tác với Python.
Nếu bạn sử dụng một shell nâng cao như ipython hoặc máy tính xách tay Jupyter, bạn có thể chạy các lệnh hệ thống như các lệnh trong hướng dẫn này bằng cách mở đầu chúng bằng ký tự
def pipInstallOnError[module_name]:
'''Import a module.
Attempt to pip install the module on ImportError.
:Parameters:
module_name [str] = The name of the module.
:Return:
[obj] The imported module.
'''
try:
return __import__[module_name]
except ImportError as error:
from pip._internal import main as pip
pip[['install', '--user', module_name]]
return __import__[module_name]
0:pip available. You can check this by running:Nó khuyên bạn nên viết
def pipInstallOnError[module_name]:
'''Import a module.
Attempt to pip install the module on ImportError.
:Parameters:
module_name [str] = The name of the module.
:Return:
[obj] The imported module.
'''
try:
return __import__[module_name]
except ImportError as error:
from pip._internal import main as pip
pip[['install', '--user', module_name]]
return __import__[module_name]
1 thay vì đơn giản def pipInstallOnError[module_name]:
'''Import a module.
Attempt to pip install the module on ImportError.
:Parameters:
module_name [str] = The name of the module.
:Return:
[obj] The imported module.
'''
try:
return __import__[module_name]
except ImportError as error:
from pip._internal import main as pip
pip[['install', '--user', module_name]]
return __import__[module_name]
2 để đảm bảo rằng các lệnh được chạy trong cài đặt Python phù hợp với sổ ghi chép hiện đang chạy [có thể không phải là cài đặt Python tương tự mà lệnh def pipInstallOnError[module_name]:
'''Import a module.
Attempt to pip install the module on ImportError.
:Parameters:
module_name [str] = The name of the module.
:Return:
[obj] The imported module.
'''
try:
return __import__[module_name]
except ImportError as error:
from pip._internal import main as pip
pip[['install', '--user', module_name]]
return __import__[module_name]
2 đề cập đến].Installing pip/setuptools/wheel with Linux Package Managers.Do cách mà hầu hết các phân phối Linux đang xử lý di chuyển Python 3, người dùng Linux sử dụng Python hệ thống mà không tạo ra môi trường ảo trước tiên sẽ thay thế lệnh
def pipInstallOnError[module_name]:
'''Import a module.
Attempt to pip install the module on ImportError.
:Parameters:
module_name [str] = The name of the module.
:Return:
[obj] The imported module.
'''
try:
return __import__[module_name]
except ImportError as error:
from pip._internal import main as pip
pip[['install', '--user', module_name]]
return __import__[module_name]
2 trong hướng dẫn này bằng lệnh def pipInstallOnError[module_name]:
'''Import a module.
Attempt to pip install the module on ImportError.
:Parameters:
module_name [str] = The name of the module.
:Return:
[obj] The imported module.
'''
try:
return __import__[module_name]
except ImportError as error:
from pip._internal import main as pip
pip[['install', '--user', module_name]]
return __import__[module_name]
5 và def pipInstallOnError[module_name]:
'''Import a module.
Attempt to pip install the module on ImportError.
:Parameters:
module_name [str] = The name of the module.
:Return:
[obj] The imported module.
'''
try:
return __import__[module_name]
except ImportError as error:
from pip._internal import main as pip
pip[['install', '--user', module_name]]
return __import__[module_name]
6 bằng def pipInstallOnError[module_name]:
'''Import a module.
Attempt to pip install the module on ImportError.
:Parameters:
module_name [str] = The name of the module.
:Return:
[obj] The imported module.
'''
try:
return __import__[module_name]
except ImportError as error:
from pip._internal import main as pip
pip[['install', '--user', module_name]]
return __import__[module_name]
7. Không chạy bất kỳ lệnh nào trong hướng dẫn này với def pipInstallOnError[module_name]:
'''Import a module.
Attempt to pip install the module on ImportError.
:Parameters:
module_name [str] = The name of the module.
:Return:
[obj] The imported module.
'''
try:
return __import__[module_name]
except ImportError as error:
from pip._internal import main as pip
pip[['install', '--user', module_name]]
return __import__[module_name]
8: 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, đặt một môi trường, và sau đó tiếp tục với hướng dẫn như đã viết.Unix/macOS
python3 -m ensurepip --default-pip
các cửa sổ
py -m ensurepip --default-pip
Đảm bảo bạn có thể chạy PIP từ dòng lệnh
Ngoài ra, bạn sẽ cần đảm bảo rằng bạn có sẵn PIP. Bạn có thể kiểm tra điều này bằng cách chạy:
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 trên Linux và được cài đặt bằng Trình quản lý gói OS của mình, bạn có thể phải cài đặt riêng PIP, xem Cài đặt PIP/Setuptools/Wheel với Trình quản lý gói Linux.setuptools and wheel if they’re not installed already.
Nếu
def pipInstallOnError[module_name]:
'''Import a module.
Attempt to pip install the module on ImportError.
:Parameters:
module_name [str] = The name of the module.
:Return:
[obj] The imported module.
'''
try:
return __import__[module_name]
except ImportError as error:
from pip._internal import main as pip
pip[['install', '--user', module_name]]
return __import__[module_name]
9 đã được cài đặt, thì trước tiên hãy thử bootstrap nó từ thư viện tiêu chuẩn:Nếu điều đó vẫn không cho phép bạn chạy
def pipInstallOnError[module_name]:
'''Import a module.
Attempt to pip install the module on ImportError.
:Parameters:
module_name [str] = The name of the module.
:Return:
[obj] The imported module.
'''
try:
return __import__[module_name]
except ImportError as error:
from pip._internal import main as pip
pip[['install', '--user', module_name]]
return __import__[module_name]
6:
Tải xuống an toàn get-pip.py 1
Chạy
>>> python --version
Traceback [most recent call last]:
File "", line 1, in
NameError: name 'python' is not defined
1. 2 Điều này sẽ cài đặt hoặc nâng cấp PIP. Ngoài ra, nó sẽ cài đặt setuptools và bánh xe nếu chúng chưa được cài đặt.Unix/macOS
try:
import zumba
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'zumba']]
import zumba
0các cửa sổ
try:
import zumba
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'zumba']]
import zumba
1Tùy chọn, tạo một môi trường ảo là
Xem phần bên dưới để biết chi tiết, nhưng ở đây, lệnh VEN 3 cơ bản sẽ sử dụng trên hệ thống Linux điển hình:section below for details, but here’s the basic venv 3 command to use on a typical Linux system:
Unix/macOS
try:
import zumba
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'zumba']]
import zumba
2các cửa sổ
try:
import zumba
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'zumba']]
import zumba
3Điều này sẽ tạo ra một môi trường ảo mới trong thư mục con
>>> python --version
Traceback [most recent call last]:
File "", line 1, in
NameError: name 'python' is not defined
7 và định cấu hình shell hiện tại để sử dụng nó làm môi trường def pipInstallOnError[module_name]:
'''Import a module.
Attempt to pip install the module on ImportError.
:Parameters:
module_name [str] = The name of the module.
:Return:
[obj] The imported module.
'''
try:
return __import__[module_name]
except ImportError as error:
from pip._internal import main as pip
pip[['install', '--user', module_name]]
return __import__[module_name]
2 mặc định. Tạo môi trường ảo
Môi trường ảo Python, cho phép các gói Python được cài đặt ở một vị trí bị cô 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 tìm cách cài đặt các công cụ dòng lệnh toàn cầu 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.packages to be installed in an isolated location for a particular application, rather than being installed globally. If you are looking to safely install global command line tools, see Installing stand alone command line tools.
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? Nếu bạn cài đặt mọi thứ vào /usr/lib/python3.6/site-packages [hoặc bất kể vị trí tiêu chuẩn nền tảng của bạn là gì], thì nó dễ dàng kết thúc trong 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.
Hoặc nói chung hơn, nếu bạn muốn cài đặt một ứng dụng và để lại? Nếu một ứng dụng hoạt động, bất kỳ thay đổi nào trong thư viện của nó hoặc phiên bản của các thư viện đó có thể phá vỡ ứng dụng.
Ngoài ra, điều gì sẽ xảy ra nếu bạn có thể cài đặt các gói vào thư mục gói trang web toàn cầu? Ví dụ, trên một máy chủ chung.packages into the global site-packages directory? For instance, on a shared host.
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ó hai 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, và cài đặt PIP và setuptools vào các môi trường ảo được tạo trong Python 3.4 trở lên. is available by default in Python 3.3 and later, and installs
pip and setuptools into created virtual environments in Python 3.4 and later.
VirtualEnv cần được cài đặt riêng, nhưng hỗ trợ Python 2.7+ và Python 3.3+, và pip, setuptools và bánh xe luôn được cài đặt vào các môi trường ảo được tạo theo mặc định [bất kể phiên bản Python]. needs to be installed separately, but supports Python 2.7+ and Python 3.3+, and
pip, setuptools and wheel are always installed into created virtual environments by default [regardless of Python version].
Việc sử dụng cơ bản là như vậy:
Sử dụng VENV:venv:
Unix/macOS
try:
import zumba
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'zumba']]
import zumba
4các cửa sổ
try:
import zumba
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'zumba']]
import zumba
5Sử dụng VirtualEnv:virtualenv:
Unix/macOS
try:
import zumba
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'zumba']]
import zumba
6các cửa sổ
try:
import zumba
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'zumba']]
import zumba
7Để biết thêm thông tin, hãy xem các tài liệu VETV hoặc tài liệu ảo.venv docs or the virtualenv docs.
Việc sử dụng nguồn dưới các vỏ Unix đảm bảo rằng các biến môi trường ảo được đặt trong vỏ hiện tại và không phải trong một quy trình con [sau đó biến mất, không có tác dụng hữu ích].source under Unix shells ensures that the virtual environment’s variables are set within the
current shell, and not in a subprocess [which then disappears, having no useful effect].
Trong cả hai trường hợp trên, người dùng Windows nên sử dụng lệnh nguồn, nhưng nên chạy tập lệnh kích hoạt trực tiếp từ shell lệnh như vậy:source command, but should rather run the activate script directly from the command shell like so:
Quản lý nhiều môi trường ảo trực tiếp có thể trở nên tẻ nhạt, do đó, hướng dẫn quản lý phụ thuộc giới thiệu một công cụ cấp cao hơn, PIPENV, tự động quản lý một môi trường ảo riêng biệt cho mỗi dự án và ứng dụng mà bạn làm việc.dependency management
tutorial introduces a higher level tool, Pipenv, that automatically manages a separate virtual environment for each project and application that you work on.
Sử dụng PIP để cài đặt
PIP là trình cài đặt được đề xuất. Dưới đây, chúng tôi sẽ bao gồm các kịch bản sử dụng phổ biến nhất. Để biết thêm chi tiết, hãy xem các tài liệu PIP, bao gồm một hướng dẫn tham khảo đầy đủ. is the recommended installer. Below, we’ll cover the most common usage scenarios. For more detail, see the pip docs, which includes a complete
Reference Guide.
Cài đặt từ Pypi¶
Cách sử dụng phổ biến nhất của PIP là cài đặt từ chỉ mục gói Python bằng cách sử dụng trình xác định yêu cầu. Nói chung, một trình xác định yêu cầu bao gồm một tên dự án theo sau là một trình xác định phiên bản tùy chọn. PEP 440 chứa một đặc điểm kỹ thuật đầy đủ của các nhà xác định hiện đang được hỗ trợ. Dưới đây là một số ví dụ.pip is to install from the Python Package Index using a requirement specifier. Generally speaking, a requirement specifier is composed of a project name followed by an optional
version specifier. PEP 440 contains a full specification of the currently supported specifiers. Below are some examples.
Để cài đặt phiên bản mới nhất của một số sản phẩm
Unix/macOS
try:
import zumba
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'zumba']]
import zumba
8các cửa sổ
try:
import zumba
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'zumba']]
import zumba
9Để cài đặt một phiên bản cụ thể:
Unix/macOS
try:
import zumba
except ImportError:
import pip
pip.main[['install', '--user', 'zumba']]
import zumba
0các cửa sổ
try:
import zumba
except ImportError:
import pip
pip.main[['install', '--user', 'zumba']]
import zumba
1Để cài đặt lớn hơn hoặc bằng một phiên bản và ít hơn một phiên bản khác:
Unix/macOS
try:
import zumba
except ImportError:
import pip
pip.main[['install', '--user', 'zumba']]
import zumba
2các cửa sổ
try:
import zumba
except ImportError:
import pip
pip.main[['install', '--user', 'zumba']]
import zumba
3Để cài đặt một phiên bản mà tính năng tương thích với một phiên bản nhất định: 4“compatible” with a certain version: 4
Unix/macOS
try:
import zumba
except ImportError:
import pip
pip.main[['install', '--user', 'zumba']]
import zumba
4các cửa sổ
try:
import zumba
except ImportError:
import pip
pip.main[['install', '--user', 'zumba']]
import zumba
5Trong 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.
Phân phối nguồn so với bánh xe
PIP có thể cài đặt từ một trong hai phân phối nguồn [SDIST] hoặc bánh xe, nhưng nếu cả hai đều có trên PYPI, PIP sẽ thích một bánh xe tương thích. Bạn có thể ghi đè hành vi mặc định của PIP bằng cách ví dụ: Sử dụng tùy chọn nhị phân của nó. can install from either Source Distributions [sdist] or Wheels, but if both are present on PyPI, pip will prefer a compatible
wheel. You can override pip`s default behavior by e.g. using its –no-binary option.
Bánh xe là một định dạng phân phối được xây dựng sẵn cung cấp cài đặt nhanh hơn so với phân phối nguồn [SDIST], đặc biệt là khi một dự án chứa các tiện ích mở rộng được biên dịch. are a pre-built
distribution format that provides faster installation compared to Source Distributions [sdist], especially when a project contains compiled extensions.
Nếu PIP không tìm thấy một bánh xe để cài đặt, nó sẽ xây dựng một bánh xe và lưu trữ nó để cài đặt trong tương lai, thay vì xây dựng lại phân phối nguồn trong tương lai.pip does not find a wheel
to install, it will locally build a wheel and cache it for future installs, instead of rebuilding the source distribution in the future.
Gói nâng cấp
Nâng cấp một
>>> python --version
Traceback [most recent call last]:
File "", line 1, in
NameError: name 'python' is not defined
9 đã được cài đặt lên mới nhất từ PYPI.Unix/macOS
try:
import zumba
except ImportError:
import pip
pip.main[['install', '--user', 'zumba']]
import zumba
6các cửa sổ
try:
import zumba
except ImportError:
import pip
pip.main[['install', '--user', 'zumba']]
import zumba
7 Cài đặt vào trang web người dùng
Để cài đặt các gói được phân lập cho người dùng hiện tại, hãy sử dụng cờ
In [1]: import sys
!{sys.executable} --version
Python 3.6.3
0:packages that are isolated to the current user, use the In [1]: import sys
!{sys.executable} --version
Python 3.6.3
0 flag:Unix/macOS
try:
import zumba
except ImportError:
import pip
pip.main[['install', '--user', 'zumba']]
import zumba
8các cửa sổ
try:
import zumba
except ImportError:
import pip
pip.main[['install', '--user', 'zumba']]
import zumba
9Để biết thêm thông tin, hãy xem phần Cài đặt người dùng từ các tài liệu PIP.
Lưu ý rằng cờ
In [1]: import sys
!{sys.executable} --version
Python 3.6.3
0 không có hiệu lực khi bên 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
>>> python --version
Traceback [most recent call last]:
File "", line 1, in
NameError: name 'python' is not defined
9 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, In [1]: import sys
!{sys.executable} --version
Python 3.6.3
0 sẽ khiến chúng được cài đặt bên trong thư mục nhị phân của cơ sở người dùng, có thể có hoặc chưa có trong shell của bạn. .In [1]: import sys
!{sys.executable} --version
Python 3.6.3
4.
[Starting in version 10, pip displays a warning when installing any scripts to a directory outside In [1]: import sys
!{sys.executable} --version
Python 3.6.3
4.] If the scripts are not available in your shell after installation, you’ll need to add the directory to your In [1]: import sys
!{sys.executable} --version
Python 3.6.3
4: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
In [1]: import sys
!{sys.executable} --version
Python 3.6.3
7 và thêm In [1]: import sys
!{sys.executable} --version
Python 3.6.3
8 vào cuối. Ví dụ: điều này thường sẽ in In [1]: import sys
!{sys.executable} --version
Python 3.6.3
9 [với python3 -m ensurepip --default-pip
0 được mở rộng sang đường dẫn tuyệt đối đến thư mục nhà của bạn] để bạn cần thêm python3 -m ensurepip --default-pip
1 vào In [1]: import sys
!{sys.executable} --version
Python 3.6.3
4 của bạn. Bạn có thể đặt In [1]: import sys
!{sys.executable} --version
Python 3.6.3
4 vĩnh viễn bằng cách sửa đổi ~/.profile.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 ensurepip --default-pip
4 và thay thế python3 -m ensurepip --default-pip
5 bằng python3 -m ensurepip --default-pip
6. Ví dụ: điều này có thể trả về python3 -m ensurepip --default-pip
7 vì vậy bạn sẽ cần phải đặt In [1]: import sys
!{sys.executable} --version
Python 3.6.3
4 của mình để bao gồm python3 -m ensurepip --default-pip
9. Bạn có thể đặt người dùng In [1]: import sys
!{sys.executable} --version
Python 3.6.3
4 vĩnh viễn trong bảng điều khiển. Bạn có thể cần phải đăng xuất cho các thay đổi In [1]: import sys
!{sys.executable} --version
Python 3.6.3
4 để có hiệu lực.
Các tập tin yêu cầu Jo
Cài đặt danh sách các yêu cầu được chỉ định trong tệp yêu cầu.Requirements File.
Unix/macOS
try: import abc
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'abc']]
import abc
0các cửa sổ
try: import abc
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'abc']]
import abc
1Cài đặt từ VCS¶
Cài đặt một dự án từ VCS trong chế độ có thể chỉnh sửa trên mạng. Để biết sự cố hoàn toàn của cú pháp, hãy xem phần PIP trên hỗ trợ VCS.VCS Support.
Unix/macOS
try: import abc
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'abc']]
import abc
2các cửa sổ
try: import abc
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'abc']]
import abc
3Cài đặt từ các chỉ mục khác
Cài đặt từ một chỉ mục thay thế
Unix/macOS
try: import abc
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'abc']]
import abc
4các cửa sổ
try: import abc
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'abc']]
import abc
5Tìm kiếm một chỉ mục bổ sung trong quá trình cài đặt, ngoài PYPIPyPI
Unix/macOS
try: import abc
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'abc']]
import abc
6các cửa sổ
try: import abc
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'abc']]
import abc
7Cài đặt từ cây SRC cục bộ
Cài đặt từ SRC cục bộ trong chế độ phát triển, tức là theo cách mà dự án dường như được cài đặt, nhưng vẫn có thể chỉnh sửa từ cây SRC.Development Mode, i.e. in such a way that the project appears
to be installed, but yet is still editable from the src tree.
Unix/macOS
try: import abc
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'abc']]
import abc
8các cửa sổ
try: import abc
except ImportError:
from pip._internal import main as pip
pip[['install', '--user', 'abc']]
import abc
9Bạn cũng có thể cài đặt bình thường từ SRC
Unix/macOS
import pip
packages = [package.project_name for package in pip.get_installed_distributions[]]
if 'package' not in packages:
pip.main[['install', 'package']]
0các cửa sổ
Cài đặt từ Lưu trữ địa phương
Cài đặt một tệp lưu trữ nguồn cụ thể.
Unix/macOS
import pip
packages = [package.project_name for package in pip.get_installed_distributions[]]
if 'package' not in packages:
pip.main[['install', 'package']]
1các cửa sổ
import pip
packages = [package.project_name for package in pip.get_installed_distributions[]]
if 'package' not in packages:
pip.main[['install', 'package']]
2Cài đặt từ một thư mục cục bộ có chứa tài liệu lưu trữ [và không kiểm tra pypi]PyPI]
Unix/macOS
import pip
packages = [package.project_name for package in pip.get_installed_distributions[]]
if 'package' not in packages:
pip.main[['install', 'package']]
3các cửa sổ
import pip
packages = [package.project_name for package in pip.get_installed_distributions[]]
if 'package' not in packages:
pip.main[['install', 'package']]
4Cài đặt từ các nguồn khác
Để cài đặt từ các nguồn dữ liệu khác [ví dụ: lưu trữ Amazon S3], bạn có thể tạo một ứng dụng trợ giúp trình bày dữ liệu theo định dạng chỉ mục tuân thủ PEP 503 và sử dụng cờ
py -m ensurepip --default-pip
2 để trực tiếp PIP để sử dụng chỉ mục đó.PEP 503 compliant index format, and use the py -m ensurepip --default-pip
2 flag to direct pip to use that index.import pip
packages = [package.project_name for package in pip.get_installed_distributions[]]
if 'package' not in packages:
pip.main[['install', 'package']]
5Cài đặt Prereleases¶
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
import pip
packages = [package.project_name for package in pip.get_installed_distributions[]]
if 'package' not in packages:
pip.main[['install', 'package']]
6các cửa sổ
import pip
packages = [package.project_name for package in pip.get_installed_distributions[]]
if 'package' not in packages:
pip.main[['install', 'package']]
7
Bạn có thể cài đặt PIP trong tập lệnh Python không?
Việc sử dụng tập lệnh Python để chạy PIP để cài đặt gói không được hỗ trợ bởi Cơ quan Bao bì Python [PYPA] vì lý do sau: PIP không an toàn cho luồng và được dự định sẽ được chạy như một quy trình duy nhất.Khi chạy như một luồng từ trong tập lệnh Python, PIP có thể ảnh hưởng đến mã không PIP với kết quả không mong muốn. for the following reason: Pip is not thread-safe, and is intended to be run as a single process. When run as a thread from within a Python script, pip may affect non-pip code with unexpected results.
Cài đặt PIP là gì?
Lệnh Cài đặt PIP luôn tìm kiếm phiên bản mới nhất của gói và cài đặt nó.Nó cũng tìm kiếm các phụ thuộc được liệt kê trong siêu dữ liệu gói và cài đặt chúng để đảm bảo rằng gói có tất cả các yêu cầu mà nó cần.looks for the latest version of the package and installs it. It also searches for dependencies listed in the package metadata and installs them to ensure that the package has all the requirements that it needs.
Tại sao Python không thể tìm thấy nhập khẩu của tôi?
Điều này được gây ra bởi thực tế là phiên bản Python mà bạn đang chạy tập lệnh của mình không được cấu hình để tìm kiếm các mô -đun nơi bạn đã cài đặt chúng.Điều này xảy ra khi bạn sử dụng cài đặt sai của PIP để cài đặt các gói.the version of Python you're running your script with is not configured to search for modules where you've installed them. This happens when you use the wrong installation of pip to install packages.