Hướng dẫn python try: import except install - python thử: nhập ngoại trừ cài đặt
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. Show
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:
Những gì tôi đang thiếu là làm "Cài đặt pip -người sử dụng Zumba" từ bên trong Python, tôi không muốn làm điều đó bằng cách sử dụng 8 vì điều này có thể tạo ra các vấn đề khác.Tôi cho rằng nó có thể ... hỏi ngày 24 tháng 6 năm 2013 lúc 8:50Jun 24, 2013 at 8:50
3 Cập nhật cho phiên bản PIP mới hơn (> = 10.0):
Nhờ @joop, tôi đã có thể đến với câu trả lời thích hợp.
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:
Đã 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à:
Đã 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.
Đã 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óiPhầ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ệnhTrướ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ư 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 " 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ự 0:pip available. You can check this by running:Nó khuyên bạn nên viết 1 thay vì đơn giản 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 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 2 trong hướng dẫn này bằng lệnh 5 và 6 bằng 7. Không chạy bất kỳ lệnh nào trong hướng dẫn này với 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
Tải xuống an toàn get-pip.py 1Chạy >>> python --version Traceback (most recent call last): File "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 0các cửa sổ 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 2các cửa sổ 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 "7 và định cấu hình shell hiện tại để sử dụng nó làm môi trường 2 mặc định.Tạo môi trường ảoMô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:
Việc sử dụng cơ bản là như vậy: Sử dụng VENV:venv: Unix/macOS 4các cửa sổ 5Sử dụng VirtualEnv:virtualenv: Unix/macOS 6các cửa sổ 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 đặtPIP 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 8các cửa sổ 9Để cài đặt một phiên bản cụ thể: Unix/macOS 0các cửa sổ 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 2các cửa sổ 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 4các cửa sổ 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 xePIP 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ấpNâng cấp một >>> python --version Traceback (most recent call last): File "9 đã được cài đặt lên mới nhất từ PYPI. Unix/macOS 6các cửa sổ 7Cà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.30:packages that are isolated to the current user, use the In [1]: import sys !{sys.executable} --version Python 3.6.30 flag: Unix/macOS 8các cửa sổ 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.30 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 "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.30 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.34. (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.34.) 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.34:
Các tập tin yêu cầu JoCà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 0các cửa sổ 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 2các cửa sổ 3Cài đặt từ các chỉ mục khácCài đặt từ một chỉ mục thay thế Unix/macOS 4các cửa sổ 5Tìm kiếm một chỉ mục bổ sung trong quá trình cài đặt, ngoài PYPIPyPI Unix/macOS 6các cửa sổ 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 8các cửa sổ 9Bạn cũng có thể cài đặt bình thường từ SRC Unix/macOS 0các cửa sổ Cài đặt từ Lưu trữ địa phươngCài đặt một tệp lưu trữ nguồn cụ thể. Unix/macOS 1các cửa sổ 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 3các cửa sổ 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-pip2 để trực tiếp PIP để sử dụng chỉ mục đó.PEP 503 compliant index format, and use the py -m ensurepip --default-pip2 flag to direct pip to use that index. 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 6các cửa sổ 7Bạ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. |