Hướng dẫn check module exists python - kiểm tra mô-đun tồn tại python

Trong thiết bị đầu cuối, sau khi tôi bắt đầu Python, làm thế nào tôi sẽ biết các mô -đun có trong Python là gì? Giả sử tôi cần học các mô -đun Numpy và Scipy.

  • Làm thế nào tôi sẽ cài đặt nó nếu nó không được cài đặt?
  • Làm thế nào tôi sẽ biết nếu nó đã được cài đặt?

Hướng dẫn check module exists python - kiểm tra mô-đun tồn tại python

wjandrea

13,7K4 Huy hiệu vàng45 Huy hiệu bạc93 Huy hiệu Đồng4 gold badges45 silver badges93 bronze badges

Đã hỏi ngày 22 tháng 2 năm 2015 lúc 3:09Feb 22, 2015 at 3:09

Hướng dẫn check module exists python - kiểm tra mô-đun tồn tại python

Sigdelsanjogsigdelsanjogsigdelsanjog

6.76015 Huy hiệu vàng39 Huy hiệu bạc70 Huy hiệu Đồng15 gold badges39 silver badges70 bronze badges

Làm thế nào để biết nếu một mô -đun Python được cài đặt hay không trong hệ thống: Bạn có thể thực hiện một bài kiểm tra rất dễ dàng trong thiết bị đầu cuối, You can do a very easy test in terminal,

$ python -c "import math"
$ echo $?
0                                # math module exists in system

$ python -c "import numpy"
Traceback (most recent call last):
  File "", line 1, in 
ImportError: No module named numpy
$ echo $?
1                                # numpy module does not exist in system

Tôi sẽ cài đặt nó như thế nào nếu nó chưa được cài đặt

Bạn có thể cài đặt mô -đun cụ thể bằng cách tải xuống các gói tương ứng từ kho lưu trữ, ví dụ: bạn có thể cài đặt

pip install numpy
9 AS,

sudo apt-get install python-scipy ## for Python2
sudo apt-get install python3-scipy ## for Python3

Thay thế bạn cũng có thể cài đặt mô -đun Python bằng cách sử dụng

>>> import sys
0 như đề xuất của Zack Titan trong nhận xét bên dưới, để cài đặt
>>> import sys
1 bạn có thể sử dụng
You can also install a python module using
>>> import sys
0 as suggested by Zack Titan in the comment below, To install
>>> import sys
1 you can use

pip install numpy

CẢNH BÁO: Rất khuyến khích cài đặt các mô-đun Python chỉ sử dụng kho lưu trữ chính thức của Ubuntu và không sử dụng phương pháp

>>> import sys
2 làm siêu nhân (tức là, như
>>> import sys
3 hoặc sử dụng
>>> import sys
4). Trong một số trường hợp, nó có thể khiến hệ thống của bạn không thể sử dụng được bằng cách phá vỡ Python hệ thống.
It is highly recommended to install python-modules using official Ubuntu repository only and not to use the
>>> import sys
2 method as superuser(i.e., as
>>> import sys
3 or using
>>> import sys
4). In some cases it may leave your system unusable by breaking system python.

Cách cài đặt các gói bằng cách sử dụng

>>> import sys
2 vào môi trường ảo cục bộ.

Đã trả lời ngày 22 tháng 2 năm 2015 lúc 3:28Feb 22, 2015 at 3:28

Sourav C.Sourav c.sourav c.

42.3K19 Huy hiệu vàng98 Huy hiệu bạc126 Huy hiệu đồng19 gold badges98 silver badges126 bronze badges

15

Trong trường hợp chúng tôi không muốn nhập một mô -đun trong câu hỏi (điều này sẽ xảy ra trong tuyên bố

>>> import sys
6), chúng tôi có thể sử dụng
>>> import sys
7 để kiểm tra các mô -đun được cài đặt và được nhập trước đó.and were imported before.

Trong vấn đề vỏ Python:

>>> import sys

Sau đó kiểm tra các mô -đun đã cài đặt:

>>> 'numpy' in sys.modules
True
>>> 'scipy' in sys.modules
False

Lưu ý rằng chỉ những mô -đun đã được nhập trước khi cho

>>> import sys
8 trong thử nghiệm này, tất cả các mô -đun khác (ngay cả khi được cài đặt) dẫn đến
>>> import sys
9

Một giải pháp khác cho

>>> import sys
6 Một câu lệnh
>>> 'numpy' in sys.modules
True
>>> 'scipy' in sys.modules
False
1 trong bảng điều khiển Python đang gọi hàm
>>> 'numpy' in sys.modules
True
>>> 'scipy' in sys.modules
False
2 sẵn có. Điều này sẽ không cung cấp một tài liệu cho các mô-đun không được cài đặt, ví dụ:

>>> help('scipy')
no Python documentation found for 'scipy'

Đầu ra của các tài liệu trợ giúp rất dài của các mô -đun đã cài đặt có thể bị gián đoạn với Q.

Bây giờ để cài đặt các mô-đun bị thiếu, nên sử dụng Quản lý gói Ubuntu (chứ không phải cách Python Pip) vì chúng tôi cần truy cập root và cũng để ngăn chặn hệ thống phụ thuộc Python rất nhiều của chúng tôi. Đối với mô -đun trong câu hỏi này, ví dụ: thì là ở:Ubuntu package management (and not the Python pip way) because we need root access and also to prevent messing up our heavily Python-dependend system. For the module in question this would e.g. be:

sudo apt-get install python-scipy ## for Python2
sudo apt-get install python3-scipy ## for Python3

Sau khi cài đặt, chúng tôi có thể thêm chúng vào từ điển

>>> import sys
7 bằng cách nhập chúng một lần.

Đã trả lời ngày 22 tháng 2 năm 2015 lúc 11:23Feb 22, 2015 at 11:23

6

Một cách khác là mô -đun

>>> 'numpy' in sys.modules
True
>>> 'scipy' in sys.modules
False
4. Hoạt động với cả Python 2 & 3:

python -c 'import pkgutil; print(1 if pkgutil.find_loader("module") else 0)'

Bạn cần thay thế

>>> 'numpy' in sys.modules
True
>>> 'scipy' in sys.modules
False
5 bằng tên mô -đun của mình, ví dụ:

$ python -c 'import pkgutil; print(1 if pkgutil.find_loader("math") else 0)'
1

Đã trả lời ngày 22 tháng 2 năm 2015 lúc 19:53Feb 22, 2015 at 19:53

CUONGLMCUONGLMcuonglm

2.33515 Huy hiệu bạc17 Huy hiệu đồng15 silver badges17 bronze badges

4

Tôi biết OP ban đầu đã yêu cầu một giải pháp sau khi bắt đầu Python, nhưng bên ngoài Python tôi sử dụng

>>> import sys
2. Trên Ubuntu:
>>> 'numpy' in sys.modules
True
>>> 'scipy' in sys.modules
False
7, nếu nó chưa được cài đặt.

Sau đó để xem những mô -đun của bên thứ ba có sẵn, chỉ cần chạy:

pip freeze

Hoặc thậm chí

sudo apt-get install python-scipy ## for Python2
sudo apt-get install python3-scipy ## for Python3
0

Và cả hai sẽ hiển thị cho bạn tất cả các mô -đun được cài đặt và phiên bản của chúng.

Nếu mô -đun bạn đang tìm kiếm không được cài đặt, hầu hết thời gian bạn có thể dễ dàng cài đặt nó bằng PIP:

sudo apt-get install python-scipy ## for Python2
sudo apt-get install python3-scipy ## for Python3
1 Nếu bạn không chắc chắn về việc một mô -đun tồn tại hay tên PYPI của nó là gì, hãy sử dụng `pip search`:
sudo apt-get install python-scipy ## for Python2
sudo apt-get install python3-scipy ## for Python3
2

Có vẻ như

>>> 'numpy' in sys.modules
True
>>> 'scipy' in sys.modules
False
8 không còn chức năng nữa. (Xem bình luận của @AJM bên dưới). Tôi có xu hướng sử dụng trực tiếp tìm kiếm của Pypi

Đã trả lời ngày 23 tháng 2 năm 2015 lúc 2:13Feb 23, 2015 at 2:13

OozemeisteroozemeisterOozeMeister

3552 Huy hiệu bạc6 Huy hiệu Đồng2 silver badges6 bronze badges

3

Bạn có thể đặt mã bên trong khối

>>> import sys
6,
>>> help('scipy')
no Python documentation found for 'scipy'
0.

sudo apt-get install python-scipy ## for Python2
sudo apt-get install python3-scipy ## for Python3
3
sudo apt-get install python-scipy ## for Python2
sudo apt-get install python3-scipy ## for Python3
4

Đã trả lời ngày 22 tháng 2 năm 2015 lúc 7:56Feb 22, 2015 at 7:56

Avinash Rajavinash RajAvinash Raj

75.1K53 Huy hiệu vàng211 Huy hiệu bạc252 Huy hiệu đồng53 gold badges211 silver badges252 bronze badges

Để cung cấp một câu trả lời khác, để hoàn thành lợi ích:

Bạn có thể (AB) sử dụng tùy chọn

>>> help('scipy')
no Python documentation found for 'scipy'
1. Từ Python's Daverage:

sudo apt-get install python-scipy ## for Python2
sudo apt-get install python3-scipy ## for Python3
5

Điều này sẽ cung cấp cho chúng tôi:

sudo apt-get install python-scipy ## for Python2
sudo apt-get install python3-scipy ## for Python3
6

Nhưng đối với các mô-đun không tồn tại, nó sẽ cung cấp cho chúng ta:

sudo apt-get install python-scipy ## for Python2
sudo apt-get install python3-scipy ## for Python3
7

Chúng tôi có thể sử dụng

>>> help('scipy')
no Python documentation found for 'scipy'
2 để phù hợp với điều này:

sudo apt-get install python-scipy ## for Python2
sudo apt-get install python3-scipy ## for Python3
8

Đây là một chút hack-ish, và không phải là những gì

>>> help('scipy')
no Python documentation found for 'scipy'
1 được dự định; Nhưng đó là phương pháp yêu cầu gõ ít nhất nếu bạn muốn kiểm tra nhanh :-)

Đã trả lời ngày 22 tháng 2 năm 2015 lúc 19:04Feb 22, 2015 at 19:04

2

Tôi đã viết một ví dụ trong Python:

sudo apt-get install python-scipy ## for Python2
sudo apt-get install python3-scipy ## for Python3
9

Hướng dẫn check module exists python - kiểm tra mô-đun tồn tại python

Muru

186K48 Huy hiệu vàng453 Huy hiệu bạc702 Huy hiệu Đồng48 gold badges453 silver badges702 bronze badges

Đã trả lời ngày 21 tháng 10 năm 2016 lúc 19:57Oct 21, 2016 at 19:57

Hướng dẫn check module exists python - kiểm tra mô-đun tồn tại python

Mona Jalalmona JalalMona Jalal

3,85916 Huy hiệu vàng57 Huy hiệu bạc91 Huy hiệu Đồng16 gold badges57 silver badges91 bronze badges

Kiểm tra Shell Oneliner (hữu ích cho việc cung cấp)

Tôi thấy rằng để cung cấp cơ sở hạ tầng của tôi ** idempotent, tôi cần có thể kiểm tra một gói từ vỏ trong một oneliner. Tôi đã xây dựng trên câu trả lời của @Cuonglm. Tôi đã phải đảo ngược

>>> help('scipy')
no Python documentation found for 'scipy'
4 và
>>> help('scipy')
no Python documentation found for 'scipy'
5 vì tôi đang tạo trạng thái thoát thay vì in một chuỗi.

pip install numpy
0

Bạn có thể thay thế

>>> help('scipy')
no Python documentation found for 'scipy'
6 bằng tên được trích dẫn duy nhất của gói của bạn, nhưng đối với các tập lệnh cung cấp của tôi, tôi thích khả năng đọc nó ở cuối.

pip install numpy
1

** Tôi nhận ra rằng Chef, Puppet và Ansible đều có các plugin để quản lý các gói Python, nhưng bạn có thể thấy mình trong tình huống như tôi khi bạn đang sử dụng phiên bản lỗi thời và không muốn sử dụng các plugin không dùng nữa.

Đã trả lời ngày 9 tháng 3 năm 2017 lúc 19:25Mar 9, 2017 at 19:25

Người ta cũng có thể sử dụng

>>> help('scipy')
no Python documentation found for 'scipy'
7, có thể được lọc bằng
>>> help('scipy')
no Python documentation found for 'scipy'
2 để tìm một mô -đun cụ thể. Đầu ra được hiển thị ở định dạng cột. Nhược điểm duy nhất của phương pháp này là nó cũng sẽ bao gồm các tệp Python trong thư mục làm việc hiện tại. Tuy nhiên, tôi sử dụng nó hầu hết thời gian và đó là một trong những cách tiếp cận được trích dẫn cao về câu hỏi liên quan này: https://stackoverflow.com/q/739993/3701431

Đã trả lời ngày 6 tháng 1 năm 2017 lúc 11:24Jan 6, 2017 at 11:24

Hướng dẫn check module exists python - kiểm tra mô-đun tồn tại python

Từ vỏ Ubuntu, theo mặc định bash, đơn giản như

pip install numpy
2

Ví dụ

pip install numpy
3

Và, nếu bạn nghi ngờ về vụ án (mặc dù tôi nghĩ rằng tất cả các tên gói luôn là chữ thường):

pip install numpy
4

Đã trả lời ngày 11 tháng 4 năm 2019 lúc 10:04Apr 11, 2019 at 10:04

Hướng dẫn check module exists python - kiểm tra mô-đun tồn tại python

XCOVELUSXCOVELUSxCovelus

2812 Huy hiệu bạc13 Huy hiệu Đồng2 silver badges13 bronze badges

Tôi sẽ làm điều gì đó như thế này:

pip install numpy
5

Nó sẽ cài đặt bất kỳ mô -đun nào bị thiếu trong mảng

>>> help('scipy')
no Python documentation found for 'scipy'
9.

Sử dụng

sudo apt-get install python-scipy ## for Python2
sudo apt-get install python3-scipy ## for Python3
0 Làm cho các gói cài đặt PIP trong thư mục nhà của bạn thay vì thư mục hệ thống như
sudo apt-get install python-scipy ## for Python2
sudo apt-get install python3-scipy ## for Python3
1, điều này rất hữu ích vì nó không yêu cầu bất kỳ đặc quyền đặc biệt nào và giữ cho cài đặt hệ thống của bạn sạch sẽ.

Đã trả lời ngày 20 tháng 2 năm 2020 lúc 21:57Feb 20, 2020 at 21:57

htaccesshtaccesshtaccess

1.33810 Huy hiệu bạc16 Huy hiệu đồng10 silver badges16 bronze badges

Đây là những gì tôi nghĩ ra:

pip install numpy
6

Nó sẽ kiểm tra xem Numpy đã được cài đặt trên hệ thống của bạn, nếu không, nó sẽ cài đặt Numpy bằng PIP.

Đã trả lời ngày 10 tháng 11 năm 2020 lúc 7:55Nov 10, 2020 at 7:55

Hướng dẫn check module exists python - kiểm tra mô-đun tồn tại python

Jdhaojdhaojdhao

1011 huy hiệu vàng1 huy hiệu bạc8 huy hiệu đồng1 gold badge1 silver badge8 bronze badges

Mã này sẽ kiểm tra xem các mô -đun trong danh sách có được cài đặt hay không. Nếu một mô -đun chưa được cài đặt, nó sẽ cài đặt nó.

pip install numpy
7

Đã trả lời ngày 10 tháng 4 lúc 10:33Apr 10 at 10:33

Hướng dẫn check module exists python - kiểm tra mô-đun tồn tại python

Để cài đặt hoặc cập nhật các gói PIP (nếu chúng không được cài đặt hoặc cập nhật) từ tập lệnh thiết bị đầu cuối hoặc shell:

pip install numpy
8

Đã trả lời ngày 28 tháng 4 lúc 9:56Apr 28 at 9:56